async/await
是 Node.js 中处理异步操作的核心语法,它让异步代码更清晰、更易读,避免了传统回调函数和 .then()
链式调用的嵌套问题。以下是关键知识点:
1. 基本概念
async
:声明一个函数为异步函数,返回值为Promise
async function fetchData() { return new Promise((resolve, reject) => { // 异步操作 }); }
await
:等待Promise
解决,仅在async
函数中使用const data = await fetchData();
2. 使用示例
- 简单请求
async function example() { const result = await fetch('https://api.example.com/data'); console.log(await result.json()); }
- 错误处理
try { const data = await fetchData(); // 处理数据 } catch (error) { console.error('请求失败:', error); }
3. 与 Promise
的关系
async/await
是基于Promise
的语法糖,简化了异步代码的书写- 可参考 Node.js 中的 Promise 基础 了解更详细用法
4. 优点
✅ 可读性:像同步代码一样编写异步逻辑
✅ 错误处理:使用 try/catch
简化异常捕获
✅ 避免回调地狱:层级扁平化,提升代码结构清晰度
5. 注意事项
await
会暂停函数执行,但不会阻塞事件循环- 避免在非
async
函数中使用await
,否则会抛出错误 - 配合
Promise.all()
可实现并发请求优化
如需深入理解异步编程机制,可阅读 Node.js 异步编程进阶指南。