我正在使用Typescript 0.9.1.1,我似乎在这个简单问题上遇到错误:
function doSomething(): void {
console.log("Printing something");
}
window.setTimeout(() => {
doSomething();
}, 3000);
它说我有Unresolved Function or Method setTimeOut()
。我查看了Typescript lib.d.ts文件,这是我发现的:
declare function setTimeout(expression: any, msec?: number, language?: any): number;
从this piece of documentation on MDN,我也可以说我称之为正确。那么,为什么TypeScript会给我带来问题呢?
这是我的lib.d.ts文件的样子:
答案 0 :(得分:1)
我使用0.9.1.1并且签名与您发布的签名不同:
declare function setTimeout(handler: any, timeout?: any, ...args: any[]): number;
所有内容都可以很好地编译:
function doSomething() {
console.log("Printing something");
}
window.setTimeout(function () {
doSomething();
}, 3000);
你在哪里寻找那个lib.d.ts?
在任何情况下,您都不应该收到错误,因为您发布的签名只需要表达式(任何),并且您提供的是正确类型的msec(数字) - 因此您的调用看起来与此兼容。