假设我有一个调用 setTimeout 的函数数组。
[
function(cb){
setTimeout(function(){
cb('one');
}, 200);
},
function(cb){
setTimeout(function(){
cb('two');
}, 100);
}
]
有没有办法访问时间参数 (200, 100) 并将其总和保存到变量中?
我只想在这两个函数都完成时才执行一个函数
最佳答案
更好的方法是使用 Promise 和 Promise.all
:
var task1 = new Promise(function(resolve,reject) {
setTimeout(function() {
//do something
resolve();
}, 100);
});
var task2 = new Promise(function(resolve,reject) {
setTimeout(function() {
//do something
resolve();
}, 200);
});
Promise.all([task1, task2]).then(function() {
//will be executed when both complete
});
关于javascript - 如何在两个异步函数完成后运行函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33528945/