node.js – 未定义__awaiter

我在VSCode中使用typescript v 1.8.9,nodejs 5.9.1我有我的文件app.ts有这些行

import {XController} from "./XController";

var xContrller=new XController();
xContrller.CallAsyncMethod(some args");

和XController是一个具有异步方法CallAsyncMethod的类

像这样

public async CallAsyncMethod(url: string) {
        await this.request.post(url);
}

这转换为javascript中的__awaiter(void,…)但它崩溃说__awaiter没有定义???任何线索为什么会发生这种情况以及如何解决它.

谢谢

最佳答案 你的tsconfig.json很可能是错误的.以下工作正常:

tsconfig.json:

{
  "compilerOptions": {
      "target": "es6",
      "module": "commonjs",
      "sourceMap": true
  },
  "exclude": [
      "node_modules",
      "typings/browser",
      "typings/browser.d.ts"
  ],
  "compileOnSave": true
}

ping.ts:

export async function ping() {
    for (var i = 0; i < 10; i++) {
        await delay(300);
        console.log("ping");
    }
}

function delay(ms: number) {
    return new Promise(resolve => setTimeout(resolve, ms));
}

main.ts:

import {ping} from "./ping"

async function main() {
    await ping();
}

main();
点赞