У меня есть некоторые обещания и Promise.all:
array = [];
var one = new Promise(function(resolve, reject) {
// Do stuff
setTimeout(function() {
resolve('One Done');
array.push('one');
}, 5000);
});
var two = new Promise(function(resolve, reject) {
// Do Stuff
resolve('Two Done');
array.push('two');
});
Promise.all(array).then(values => {
console.log(values);
});
Мы знаем, что это не работает, потому что array.push должен быть снаружи.
В настоящее время у меня есть несколько функций, которые мне нужно вызывать с помощью обещаний, чтобы, наконец, я мог получить их в Promise.all.
Желательно ли вызывать функцию из обещания так:
function dosomething() {
// does something
array.push('something');
}
var mypromise = new Promise(function(resolve, reject) {
dosomething();
resolve('Did something');
});
Или есть более рекомендуемый способ сделать это?