Задать вопрос
madmages
@madmages
Человек прямоходящий

JS promise, как работать в рекурсии?

Суть вот в чем, есть такой код, который использует модуль обещалок RSVP для node js.
promise.then(function(){
    (function theFunction(arg){
         if (!arg) {
              //вот тут надо выйти из рекурсии в следующий then
          } else {
               theFunction(sdf);
          }
    }(adsf))
}).then(function(){
        // продолжаем жить
    })

и вот вопрос: как, используя рекурсию (а именно ту, что называется theFunction), выйти из нее в следующий then только по условию? Я насколько понимаю, после того, как будет выполнен этот then ,в котором будет зарегистрирована функция theFunction и которая ничего не вернет, то будет сразу выполнен следующий then, а мне надо только по условию вызывать следующий шаг.
  • Вопрос задан
  • 5389 просмотров
Подписаться 5 Оценить Комментировать
Решения вопроса 1
rsvp:Chaining
В первом `then` создаете и возвращаете ещё один промис, внутри которого делаете вашу `theFunction` рекурсию и когда готовы делаете ресолв. И так переходите ко второму `then`.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
мусье знает толк... асинхронные рекурсии.... Вы уверены что вам там нужна рекурсия? Или асинхронность.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
Wanted. Москва
от 250 000 до 400 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
22 янв. 2025, в 04:08
6000 руб./за проект
21 янв. 2025, в 23:55
20000 руб./за проект
21 янв. 2025, в 23:35
80000 руб./за проект