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

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

Похожие вопросы
22 дек. 2024, в 13:01
50000 руб./за проект
22 дек. 2024, в 10:44
15000 руб./за проект
22 дек. 2024, в 10:12
10000 руб./за проект