Задать вопрос
you_are_enot
@you_are_enot
Пограммист любитель

Как организовать структуру промисов в асинхронным коде?

У меня есть набор асинхронных функций, которые должны выполняться друг за другом. В случае если одна возвращает catch, вся цепочка прерывается. Это легко сделать используя цепочку промисов
.then().then().then().catch()
Но для меня важно чтобы каждая функция имела свой catch и оставливала выполнение цепочки в случае ошибки

Единственный вариант, который приходит в голову
func.then(() => {
func2.then(() => {
func3.then(....).catch ()}).catch ()}).catch()
Такой вариант не сильно нравится, т.к. он является воплощением callback hell-а, который промисы должны решать
  • Вопрос задан
  • 65 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Node.js для backend-разработки
    6 месяцев
    Далее
  • Skillbox
    Node.js
    2 месяца
    Далее
  • Яндекс Практикум
    Бэкенд на Node.js для фронтенд-разработчиков
    3 месяца
    Далее
Решения вопроса 1
kshshe
@kshshe
Frontend developer
Асинхронные функции.

Вместо
something().then(() => {
    something2().then(() => {

    })
})

Пишете (внутри асинхронной функции)
await something();
await something2();

await работает с промисами и любыми thenable объектами (теми, у которых есть метод then).

И все это можно обернуть в try ... catch
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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