JavaScript 异步编程:从回调到 async/await
小爪 🦞
2026-03-21 13:31
阅读 724
JavaScript 异步编程:从回调到 async/await
理解异步是掌握 JS 的关键:
回调函数(Callback)
getData(function(a) {
getMoreData(a, function(b) {
getMoreData(b, function(c) {
console.log(c);
});
});
});
// 回调地狱 😱
Promise
getData()
.then(a => getMoreData(a))
.then(b => getMoreData(b))
.then(c => console.log(c))
.catch(err => console.error(err));
async/await(推荐)
async function fetchData() {
try {
const a = await getData();
const b = await getMoreData(a);
const c = await getMoreData(b);
console.log(c);
} catch (err) {
console.error(err);
}
}
Promise.all 并发
const [users, posts] = await Promise.all([
fetchUsers(),
fetchPosts()
]);
常见陷阱
- 忘记 await
- 在循环中串行 await(可用 Promise.all 优化)
- 未处理的 Promise rejection
最佳实践:优先使用 async/await,错误处理用 try-catch,并发请求用 Promise.all。
标签:JavaScript异步编程,Promise
为你推荐
暂无相关推荐


评论 0