async/await 异步函数语法糖
最后更新:2026-09-09
async/await 异步函数语法糖
async/await 是 Promise 的语法糖,让异步代码看起来像同步代码。async 函数总是返回 Promise;await 暂停执行直到 Promise 结束。
| 分类 | 异步 |
|---|---|
| ES 版本 | ES2017 |
📝 语法
async function 函数名() {
const 结果 = await promise;
}
返回值:async 函数返回 Promise。
是否修改原值:否(返回新值)
▶ 示例
编辑下方代码,点击运行,在输出面板查看结果:
运行结果:
undefined
💡 提示 await 只能在 async 函数内使用——顶层 await 需要 ES2022 模块。
⚠️ 警告 多个独立的 await 应该用 Promise.all 并发——顺序 await 是不必要的串行。
🌐 浏览器支持
| 浏览器 | |||||
|---|---|---|---|---|---|
| async/await | ✓ v32 | ✓ v12 | ✓ v27 | ✓ v8 | ✓ v19 |
| 所有现代浏览器均支持 | |||||
🏷️ 相关条目
💡 相关案例
更多实战案例即将上线,敬请期待。
📚 相关教程
❓ 常见问题
Qawait 只能在 async 函数里用吗?
A是(除了 ES2022 模块顶层)。普通函数里用 await 报 SyntaxError。
Qasync 函数的返回值是什么?
A总是返回 Promise——即使函数体 return 一个普通值。
Qasync/await 怎么处理错误?
A用 try/catch 包裹 await——与同步代码的错误处理一致。