<commit_before># Заміна callback функції на `Consequence`

Як правильно використати `Consequence` у рутинах, що приймають в якості аргументу callback функцію, 
передавши замість неї `Consequence`.

<!--  -->

[Повернутись до змісту](../README.md#туторіали)<commit_msg>replacing callback by consequence tutorial not finished<commit_after># Заміна callback функції на `Consequence`

Як правильно використати `Consequence` у рутинах, що приймають в якості аргументу callback функцію, 
передавши замість неї `Consequence`.

У JavaScript дуже поширеним є використання callback функції в якості параметра іншої. Це робиться для того, щоб
викликати callback функцію з передачею в неї(або без) результату виконная рутини, у яку вона була передана як параметр.
```js
let Dns = require( 'dns' );

let uri = 'google.com';

Dns.resolve4( uri, callback ); // logs - Ips of google.com are ["172.16.17.32"]

function callback( err, addresses )
{
  if( err ) console.log( err );
  console.log( `Ips of ${uri} are ${JSON.stringify( addresses )}` );
}
```
Як бачимо, рутина `resolve4`, як результат свого виконання передає у передану їй рутину `callback` помилку або 
результат та викликає її.

Тепер реалізуємо аналогічну логіку з допомогою `Consequence`.
```js
let conseuqence = new _.Consequence();

Dns.resolve4( uri, conseuqence );
conseuqence.thenGive( ( addresses ) => console.log( `Ips of ${uri} are ${JSON.stringify( addresses )}` ) );
```

[Повернутись до змісту](../README.md#туторіали)
{'fraction_non_alphanumeric': 0.11088573360378634, 'fraction_numerical': 0.008113590263691683, 'mean_word_length': 4.991902834008097, 'pattern_counts': {'":': 0, '<': 4, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 1, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6640785', 'n_tokens_mistral': 561, 'n_tokens_neox': 669, 'n_words': 168}