function a(){
return 1;
}
function b(){
return 2;
}
function c(){
return 2;
}
async function aa(){
return 1;
}
使用await
async function do(){
const ap = Promise.resolve(3);
ap.then(res=>{
});
const dd = awaut ap;
console.log('dd',dd);
//或者
const ap = await 4; ==> 等于 Promise.resolve(3);
console.log('dd',dd);
//或者
const ap = await aa();
}
解决Pormise的回调地狱
以下是在层层调用的基础上 a=>b(需要a的数据)=>c(需要b的数据)
function do(){
a().then(res=>{
console.log(a);
return b()
}).then(res=>{
console.log(b);
return c()
}).then(res=>{
console.log(c);
});
}
Promise.all 的使用
function do(){
const aPromise = a()
const bPromise = b()
Promise.all([aPromise, bPromise]).then(res=>{
console.log('res', res);
console.log('等待上面的两个全部完成后才执行');
}
}