@LJ322

Как правильно написать цепочку promise для элементов в forEach?

Код ниже для каждого элемента создаёт независимый промис. А как из элементов сделать цепочку?
document.querySelectorAll('li').forEach( function(li) {
      new Promise(function(resolve) {
        setTimeout( () => resolve(console.log(li.textContent)), 1000);
        })
})
  • Вопрос задан
  • 106 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
[...document.querySelectorAll('li')].reduce((acc, n) => {
  return acc.then(() => {
    return new Promise(r => {
      setTimeout(() => r(console.log(n.textContent)), 1000);
    });
  });
}, Promise.resolve())
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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