Как правильно записать условное ветвление в цепочке Promise?

В цепочке асинхронных операций на каком-то шаге проверяется условие. Дальше опционально добавляется цепочка асинхронных действий перед финальным асинхронным шагом. Примерно так сейчас сделал, работает:
makeInitialPromise()
.then(r => {
  if (r > 0) { // Условие
    // надо дополнительные действия выполнить
    return makeAdditionalPromise(r)
    .then(r => makeAnotherAdditionalPromise());
  } else {
    // можно сразу переходить дальше
    return Promise.resolve(r);
  }
})
.then(r => makeFinalPromise());


Правильно ли городить такую вложенность, или как-то еще можно?
  • Вопрос задан
  • 103 просмотра
Пригласить эксперта
Ответы на вопрос 1
profesor08
@profesor08 Куратор тега JavaScript
Если не нравится так, можешь сделать на async/await, получится линейно.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Artezio Нижний Новгород
от 130 000 до 180 000 ₽
CORE Москва
от 120 000 до 180 000 ₽
Artezio Москва
от 160 000 до 220 000 ₽