async
函数返回的 Promise
对象,必须等到内部所有await
命令后面的 Promise
对象执行完,才会发生状态改变,除非遇到return
语句或者抛出错误。也就是说,只有async
函数内部的异步操作执行完,才会执行then方法指定的回调函数
案例
function kk(a, b) {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve(a+b);
}, 4000)
})
}
async function aa() {
let bb = await kk(1, 1);
console.log(bb)
console.log('123')
}
aa();
输出:
2
123