@sergmit

Как определить, когда закончится рекурсия?

Как определить окончание выполнения такой рекурсивной функции:
function rec(text) {
    asynFunc(text).then(data => {
        if (data.length > 10) {
            rec(data);
        }
    })
}
  • Вопрос задан
  • 222 просмотра
Решения вопроса 1
Lynn
@Lynn
nginx, js, css
function rec(text) {
    return asynFunc(text).then(data => {
        if (data.length > 10) {
            return rec(data);
        }
    })
}

rec(text).then(() => console.log("Закончилось"));
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@kova1ev
Это зависит от asynFunc()
Как только промис в ней выполнится с не удовлетворяющим условию результатом, так и закончится.
Если asynFunc при одном и том же аргументе всегда возвращает одно и тоже значение - никогда не закончится.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы