Node.js __等待者未定义
我在VSCode中使用typescript V1.8.9,nodejs 5.9.1我有一个文件app.ts,其中包含以下行Node.js __等待者未定义,node.js,typescript,visual-studio-code,Node.js,Typescript,Visual Studio Code,我在VSCode中使用typescript V1.8.9,nodejs 5.9.1我有一个文件app.ts,其中包含以下行 import {XController} from "./XController"; var xContrller=new XController(); xContrller.CallAsyncMethod(some args"); XController是一个具有async methode CallAsyncMethod的类 像这样 public async Call
import {XController} from "./XController";
var xContrller=new XController();
xContrller.CallAsyncMethod(some args");
XController是一个具有async methode CallAsyncMethod的类
像这样
public async CallAsyncMethod(url: string) {
await this.request.post(url);
}
这在javascript中转换为uu waiter(void,…),但它崩溃了,因为没有定义u waiter???任何线索,为什么会发生这种情况,以及如何解决它
谢谢您的
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));
}
import {ping} from "./ping"
async function main() {
await ping();
}
main();
您是否尝试等待
xcontroller.CallAsyncMethod(一些参数);
?首先感谢您解决了这个问题,但我怀疑有一个bug,因为我有相同的tsconfig加上“noEmitHelpers”,看起来这导致了这个问题。有什么解释吗(当我删除它时,它起作用了)?thanksAhmed,感谢您指出noEmitHelpers设置问题,这帮助我在NativeScript 2.5.0中实现了异步等待!