使复杂异步方法变为同步。用promise阻塞
使复杂异步方法变为同步
假如有一个function async Father(){await A();await b()},
需要等方法A执行完,再继续往下执行B的代码,而A()中有很多东西,可能会导致异步。
则
可在A()内写成promise(resolve()),在A()内所有方法执行完毕后,再执行promise的resolve(),
使得Father()在等到A()的resole才执行B()
function async Father(){
console.log('111')
await A()
console.log('222')
await B()
}
function A(){
return new Promise(async (r, l) => {
//里面需要执行的各种代码
console.log('A结束')
r()
}
}
function B(){
console.log('B开始')
console.log('B结束')
}
最后打印结果
111 A开始 A结束 222 B开始 B结束