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('等待上面的两个全部完成后才执行');
}
}
本文介绍了JavaScript中异步编程的基本概念,包括async/await的使用,Promise.all的应用,以及如何解决回调地狱问题。通过示例展示了如何优雅地处理异步操作,提升代码可读性和维护性。
1585

被折叠的 条评论
为什么被折叠?



