Показать сообщение отдельно
  #3 (permalink)  
Старый 28.08.2016, 14:02
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

Цитата:
cейчас в цикле создается 3 промиса и выводятся они в порядке кто первый отработал. А как задать им последовательность?
function generate() {
    let ms = Math.round(Math.random() * 1000);

    return new Promise((resolve, reject) => {
        setTimeout(() => {
            resolve(ms);
        }, ms);
    });
}
let chain = generate();

for (let i = 0; i < 3; i++) {
    chain = chain.then(value => {
		console.log(value, i);
		return generate()
	});
}
Ответить с цитированием