js控制多个async方法顺序
时间: 2023-05-11 19:02:02 浏览: 56
可以使用async/await和Promise.all()来控制多个async方法的顺序。首先,将所有的async方法封装成Promise对象,然后使用Promise.all()将它们组合成一个Promise数组,最后使用async/await来等待Promise数组中的所有Promise对象都完成。以下是示例代码:
async function controlAsyncMethods() {
const promise1 = asyncMethod1();
const promise2 = asyncMethod2();
const promise3 = asyncMethod3();
await Promise.all([promise1, promise2, promise3]);
console.log('所有的async方法都已经完成');
}
function asyncMethod1() {
return new Promise(resolve => {
setTimeout(() => {
console.log('asyncMethod1已经完成');
resolve();
}, 1000);
});
}
function asyncMethod2() {
return new Promise(resolve => {
setTimeout(() => {
console.log('asyncMethod2已经完成');
resolve();
}, 2000);
});
}
function asyncMethod3() {
return new Promise(resolve => {
setTimeout(() => {
console.log('asyncMethod3已经完成');
resolve();
}, 500);
});
}
controlAsyncMethods();