Задать вопрос
@generate
...

Почему не работает async?

Работает не по очереди а сразу все .

async function asyncCall() {
let promise = new Promise((resolve, reject) => {
setTimeout(() => resolve("готово!"), 1000)
});

for (let i=0; i < 100; i++) { 
	console.log(await promise);
}
}
  • Вопрос задан
  • 112 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
alex4answ
@alex4answ
У вас 1 promise, как только он разрешился - все сразу выводится.

т.е. await ждет только 1 раз, дальше он использует результат уже разрешенного промиса, чего ему ждать ?

Ваш пример, но рабочий:
function getPromise() {
  return new Promise((resolve, reject) => {
    setTimeout(() => resolve('готово'), 1000);
  });
}

async function asyncCall() {
  for (let i=0; i < 100; i++) { 
    console.log(await getPromise());
  }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
18 дек. 2024, в 12:39
1000 руб./за проект
18 дек. 2024, в 12:37
10000 руб./за проект
18 дек. 2024, в 12:22
5000 руб./за проект