async/await 是 Promise 的语法糖,使异步代码更直观易读;async 函数自动返回 Promise,await 在 async 内暂停执行并等待 Promise 结果,需配合 try/catch 捕获错误。

async/await 是 JavaScript 中处理异步操作的现代语法,它不是新机制,而是 Promise 的语法糖——用同步风格写异步逻辑,让代码更直觉、易读、易调试。
async 函数:自动返回 Promise
加了 async 关键字的函数,无论内部怎么写,返回值都会被自动包装成 Promise:
- 如果函数 return "ok",实际等价于 return Promise.resolve("ok")
- 如果函数 throw new Error(),实际等价于 return Promise.reject(...)
- 普通调用会立刻返回 Promise,仍可用 .then() 或 await 处理
await:在 async 函数里“暂停等待”
await 只能在 async 函数内部 使用,它的作用是:
- 暂停当前函数执行(不阻塞主线程),直到右侧的 Promise 状态确定
- 若 Promise 成功,await 表达式返回其值;若失败,则抛出错误
- 必须配合 try/catch 捕获异常,替代 Promise 的 .catch()
对比传统写法:为什么更简单?
比如连续请求用户和订单数据:
立即学习“Java免费学习笔记(深入)”;
- Promise 链写法:嵌套多层 .then(),错误需单独 .catch(),逻辑断开
- async/await 写法:像同步代码一样逐行写,错误统一用 try/catch 捕获,调试时可直接打断点
- 并行请求也更清晰:await Promise.all([fetchUser(), fetchOrders()]) 一行搞定











