打字稿未解决的功能

时间:2013-08-22 18:30:00

标签: typescript

我正在使用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文件的样子: enter image description here enter image description here

1 个答案:

答案 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(数字) - 因此您的调用看起来与此兼容。