Задать вопрос
alexandrknyazev13071995
@alexandrknyazev13071995

Как вызвать функцию, возвращающую Promise, внутри обработчика этого Promise?

По моей логике (судя по всему неверной) этот код должен быть аналогом бесконечного цикла, выводящего 22, 23, 24 и тд. Но он лишь один раз выводит 22. В чем причина?
function find() {
	let numberPage = 22;
	getPromiseOpenPage(numberPage);
	
	function getPromiseOpenPage (numberPage) {
		return new Promise( function (resolve, reject) {
			resolve(numberPage);
		})
	}
	getPromiseOpenPage().then(
		function (res) {
			console.log(res);
			getPromiseOpenPage(res++);
		}
	)
}
  • Вопрос задан
  • 209 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
mlnkv
@mlnkv
JavaScript Developer
function find(start) {

  function iteration(number) {
    new Promise(function(resolve, reject) {
      resolve(number++)
    }).then(function() {
      console.log(number)
      if (number < 100) iteration(number)
    })
  }

  iteration(start)
}

find(22)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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