Я хочу обновить DOM через свои обещания. Я создаю массив промисов и запускаю их с помощью Promise.all:
function test(i){
return Promise.resolve()
.then(function() {
// update the DOM
document.getElementById('progress').innerHTML += i;
return i;
});
}
var loadSequence = [];
// loop through all the frames!
for (var i = 0; i < 9999; i++) {
loadSequence.push(test(i));
}
Promise.all(loadSequence)
.then(function(){
window.console.log('all set...');
});
http://codepen.io/nicolasrannou/pen/jbEVwr
Я не могу заставить DOM обновляться в режиме реального времени. Он обновляет DOM только тогда, когда все мои обещания выполнены.
Это ожидаемое поведение? Если да, то как я могу использовать Promise.all для обновления своего DOM в режиме реального времени?
Я хочу использовать промисы вместо взлома "setTimeout (функция, 1000)", но я не могу найти хороший способ сделать это.
Promise.all
, они только ожидаются — они уже выполняются с тех пор, как вы их создали. - person Bergi   schedule 03.09.2015Promise.all
ожидает массив промисов от асинхронных функций, которые обычно запускаются параллельно, а не последовательно. - person jib   schedule 04.09.2015