10

有没有办法只使用 TypeScript 编译器来删除类型注释,而不是转译异步函数?像一个{ target: 'esInfinite' }选项?原因是:有些浏览器已经支持异步功能,所以我希望有一个不影响这些功能的构建目标。

示例输入:

async function foo(a : number) : Promise<void> {}

示例输出:

async function foo(a) {}
4

2 回答 2

17

在您的tsconfig.json中,将您的目标更改为ES2017,然后它将保留async/await.

{
  "compilerOptions": {
    .....
    "target": "ES2017",
    .....
  }
}

请确保您的运行时本身支持它!!!

PS:截至目前Apr 2018AWS Lambda现在支持 Nodejs 8。您应该可以使用上面的配置。

于 2018-04-30T23:41:39.813 回答
0

此处已请求此功能。针对 es2016 和 es2017 应该在社区里程碑和TypeScript 2.1中可用。

于 2016-10-17T10:38:35.653 回答