在JavaScript 中,如何判断这个函数已经执行完毕后,再执行其他函数?
比如有a,b函数执行完毕后再执行c函数。
被采纳的答案,a和b不就串行了吗?a被resolve了,才开始执行b。但是最好的是a和b是并行的,所以可以用Promise.all
function a() {
return new Promise((resolve) => {
// do something...
setTimeout(() => {
resolve('a');
}, 1000);
})
}
function b() {
return new Promise((resolve) => {
// do something...
setTimeout(() => {
resolve('b');
}, 1000);
})
}
Promise.all([a(), b()]).then(([ret1, ret2]) => {
console.log('ret1:', ret1);
console.log('ret2:', ret2);
});
8 回答4.8k 阅读✓ 已解决
6 回答3.5k 阅读✓ 已解决
5 回答2.9k 阅读✓ 已解决
5 回答6.4k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
两种情况:
1,同步函数
2,异步函数(我猜你是这种情况)async await可以解决