无法转换包含异步等待的TypeScript

时间:2016-04-05 10:20:20

标签: javascript asynchronous typescript async-await tsc

尝试转换包含asyncawait关键字的以下TypeScript代码时

async function foo() {
    await bar();
}

我收到以下错误

src/aa.ts(1,7): error TS1005: ';' expected.
src/aa.ts(2,11): error TS1005: ';' expected.

结果是包含此内容的.js文件

async;
function foo() {
    await;
    bar();
}

我正在使用这些tsc选项:-t es6 -m commonjs,按照this MSDN blog上的说明操作。我安装了TypeScript 1.8.9。

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

由于某些原因,TypeScript编译器无法识别asyncawait关键字。即使TypeScript编译器版本的版本正确,也会发生这种情况。

我要解决的问题是卸载tsc并全局安装typescript:

npm uninstall --global tsc
npm install --global typescript

答案 1 :(得分:1)

我遇到了异步箭头功能的类似问题:

async resource_type => some_value
// error TS1005: ',' expected.

在把括号中的函数参数包装起来后,Typescript很高兴:

async (resource_type) => some_value