динамический массив в Promise.all

если добавить обещание в массив после Promise.all - оно будет проигнорировано

let pr = [];
let start = Date.now();

pr.push(new Promise((resolve) => {
    setTimeout(() => {
        resolve();
    }, 2000);
}));

Promise.all(pr).then(() => {
    console.log('All done' + (Date.now() - start));
});

pr.push(new Promise((resolve) => {
    setTimeout(() => {
        resolve();
    }, 4000);
}));

Все готово2000

Как мне это сделать?


person Alexey Vodolazhchenko    schedule 12.04.2018    source источник
comment
Конечно, это будет проигнорировано, обещания еще не существует. Почему бы вам просто не переместить это перед вызовом Promise.all? отлично работает.   -  person Bergi    schedule 12.04.2018
comment
stackoverflow.com/a/37819138/1048572   -  person Bergi    schedule 12.04.2018
comment
Обещание будет добавлено во время запуска анимации Перед анимацией я не обещаю :c   -  person Alexey Vodolazhchenko    schedule 12.04.2018
comment
Возможно, вы захотите показать код для вашей фактической проблемы. Анимация не должна ничего обещать, она должна обещать все уже в самом начале. См. также обещания для обещаний, которые еще не созданы   -  person Bergi    schedule 12.04.2018
comment
Спасибо, я так и сделал :)   -  person Alexey Vodolazhchenko    schedule 12.04.2018