await

general · 首次出现 2026-05-31 · 最近出现 2026-10-20 · 累计提及 19

综述

await 是 JavaScript、TypeScript 以及 ArkTS 等语言中用于等待 Promise 结果的异步关键字,通常与 async 函数配合使用,让开发者以接近同步代码的写法处理网络请求、文件读写等耗时操作。自 ES2017 标准化以来,async/await 已成为前端和 Node.js 异步编程的主流范式,也是当前多数 HTTP 请求库和后端框架的默认交互方式。

await 的近期讨论热点

围绕异步与请求封装,社区近期的争论集中在请求库的选择上。为什么我在团队里禁止使用 axios? 一文指出,原生 fetch 配合 async/await 已能覆盖大多数场景,团队转而基于 fetch 自行封装拦截器与错误处理,以减少依赖体积和黑盒行为。这与近年“去 axios 化”的讨论一致:async/await 语法本身已足够成熟,争议更多落在错误处理约定、请求取消(AbortController)和类型封装层面。

在非 Web 生态中,async/await 也在扩散。ArkTS 用 Preferences 存配置:从踩坑到 singleton 封装 讨论了鸿蒙 ArkTS 中如何用 await 读取 Preferences 异步接口,并将配置读写封装成单例,说明 await 已成为移动端跨平台开发中的常规手段。

当前焦点与观察点

  • 错误处理方式:try/catch、.catch() 链还是 Go 风格的 [err, data] 返回值,不同团队规范差异明显,是 async/await 实践中最常见的分歧点。
  • 并发控制:Promise.all、Promise.allSettled 与顶层 await 的组合使用,以及避免在循环中串行 await 造成性能问题,仍是高频踩坑场景。
  • 替代方案讨论:部分场景下一些开发者转向 then 链式写法或响应式流库,但主流观点认为 await 在可读性上优势明确,短期内不会被取代。
  • 总体来看,await 作为语法已进入稳定期,技术讨论的焦点从“怎么用”转向“如何在大规模工程中统一异步规范”,包括错误边界、超时重试与请求取消的标准化封装。

    相关报道

    10 条在档
    await · AI 话题观测|AI热报