@EVOSandru6

Почему в цикле не отрабатывает блок после sleep?

Добрый день,

Есть некая функция ожидания, которая отрабатывает вне цикла и странна отрабатывает внутри цикла. ПРоблема в том, что я не вижу в консоли вывода блока:

after_waiting_2

Выводятся только before_waiting_2

Полный код:

function delay(time) {
    return new Promise(function(resolve) {
        setTimeout(resolve, time)
    });
}

static async test() {
    ...

    let docsBuffer = [1,2,3,4,5,6,7];  // условно

    console.log(`docsBuffer.length: ${docsBuffer.length}`);

    console.log'before_waiting_1');
    await delay(10000);
    console.log('after_waiting_1');

    docsBuffer.forEach(async doc => {
        console.log('before_waiting_2');
        await delay(10000);
        console.log('after_waiting_2');
    });

    console.log('this is the end..');
}


Вывод такой:

docsBuffer.length: 7
before_waiting_1
after_waiting_1
before_waiting_2
before_waiting_2
before_waiting_2
before_waiting_2
before_waiting_2
before_waiting_2
before_waiting_2
this is the end..
  • Вопрос задан
  • 84 просмотра
Решения вопроса 1
@EVOSandru6 Автор вопроса
Поменял на

for (const doc of docsBuffer) {

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

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

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