我正在使用异步/等待。我想知道如何并行执行多个异步调用?
我愿意
async method(){
call1();
call2();
}
至少从调试器看来,它一次要调用一个。
我不确定是否由于我正在使用mobx状态树“流”功能而在call2
完成之前是否阻止call1
的发生。
call1: flow(function*() {
const response = yield axios.post()
}),
答案 0 :(得分:1)
您可以尝试async.js并行方法。这也将减轻处理不同呼叫数据的负担。它将执行相同的操作:
async.parallel([
//different async calls you can add as many you want
function(callback) {
setTimeout(function() {
callback(null, 'one');
}, 200);
},
function(callback) {
setTimeout(function() {
callback(null, 'two');
}, 100);
}
],
// optional callback
function(err, results) {
// the results array will equal ['one','two'] even though
// the second function had a shorter timeout.
});
答案 1 :(得分:0)
使用Promise.all
:
async method() {
return await Promise.all([
call1()
call2()
])
}