JavaScript ES6 обещает цикл [дубликата]

На этот вопрос уже есть ответ здесь:

Разрешать обещания одно за другим (т.е. по порядку)? 23 ответа
for (let i = 0; i < 10; i++) {
    const promise = new Promise((resolve, reject) => {
        const timeout = Math.random() * 1000;
        setTimeout(() => {
            console.log(i);
        }, timeout);
    });

    // TODO: Chain this promise to the previous one (maybe without having it running?)
}

Выше приведен следующий случайный вывод:

6
9
4
8
5
1
7
2
3
0

Задача проста: убедитесь, что каждое обещание выполняется только после другого (.then()).

По какой-то причине я не смог найти способ сделать это.

Я пробовал генератор функций (yield), пробовал простые функции, которые возвращают обещание, но в конце концов оно всегда сводится к одной и той же проблеме:Цикл синхронный.

Сасинхронной Я бы просто использовалasync.series().

Как вы это решаете?

Ответы на вопрос(5)

Ваш ответ на вопрос