You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求确认tsc是否支持将ES2017+目标的async/await转译为Generator函数

关于tsc转译async/await为Generator函数的问题解答
  • 当前tsc不支持在目标版本≥ES2017时,将async/await转译为Generator函数
    • TypeScript的转译逻辑是:当目标环境原生支持async/await(ES2017及以上),tsc会直接保留原生语法,不会做额外转译;只有当目标版本低于ES2017时,才会把async/await转译为基于Generator+Runtime或者Promise回调的兼容代码,但这是针对低版本环境的降级处理。
  • 未来支持的可能性极低
    • TypeScript的核心定位是类型检查+贴合目标环境的语法转译,这类“强制将原生支持的语法转译为另一种等效实现”的定制化需求,不在官方的核心规划内,目前也没有相关公开计划。
  • 替代方案建议
    • 如果必须仅依赖tsc,可将target配置设为ES2016或更低版本,此时tsc会自动把async/await转译为Generator相关代码,但代价是其他ES2017+语法也会被降级。
    • 更合理的方式是结合tsc与Babel:用tsc完成类型检查,用Babel的对应插件处理async/await到Generator的转译,兼顾类型安全和定制化转译需求。

内容的提问来源于stack exchange,提问作者Dominic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 03:25:34