__awaiter未定义

时间:2016-03-28 20:17:59

标签: node.js typescript visual-studio-code

我在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没有定义???任何线索,为什么会发生这种情况以及如何解决它。

由于

1 个答案:

答案 0 :(得分:2)

您的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();