当我编写我的Typescript项目时,我收到以下错误
Overload signatures must all be ambient or non-ambient.
此处发生错误
function setTimeout(callback: any, time: any = 1, timeInSeconds: boolean = false): void
当然我用谷歌搜索并发现这是由我的函数名setTimeout
引起的,因为setTimeout已经被浏览器api保留,打字稿想告诉我我不能超载它。
我的问题的原因是我的代码永远不会在任何浏览器中运行。它可以在类似节点的环境中运行,使用C#和我自己创建的环境。 Javascript.NET。它并不重要,因为代码仍然可以编译并完美地工作,但这些错误让我越来越烦恼。所以我的问题是我可以以某种方式忽略这个错误,甚至可以更好地指定编译器认为我自己的库吗?
答案 0 :(得分:0)
快速查看
Program Files (x86)\Microsoft SDKs\TypeScript\1.0
告诉我所有浏览器apis都在
中定义Program Files (x86)\Microsoft SDKs\TypeScript\1.0\lib.d.ts
因为我注释掉了
declare function setTimeout(handler: any, timeout?: any, ...args: any[]): number;
它编译没有错误