@vasromand

Как правильно написать асинхронный код в условных операторах?

Вдогонку к этому вопросу (Как правильно писать асинхронный код?), но без прямой связи.
Есть функция, в которой данные могут многократно асинхронно модифицироваться, после чего передаются callback-функции. В какой момент необходимо делать коллбэк?
function(data, callback){
  if(data.someCondition1){
    doAsyncCode(data, function(err, result){
      ...
    }
  }
  if(data.someCondition2){
    doAsyncCode(data, function(err, result){
      ...
    }
  }
  // В конце нужен коллбэк
}

И как добиться того, чтобы данные модифицировались последовательно? Разбивать на подфункции, типа как в примере по ссылке?

Где вообще можно почитать про подобные примеры?
  • Вопрос задан
  • 2307 просмотров
Пригласить эксперта
Ответы на вопрос 2
dizballanze
@dizballanze
Software developer at Yandex
Проще всего будет использовать модуль async и его метод waterfall.
Ответ написан
Комментировать
Проще всего не мучиться и использовать async / await из ES7, правда пока только с препроцессором, пример, ваш конкретный случай.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы