在另一个函数中使用 setTimeout 时"Overload signatures must all be ambient or non-ambient"



我有一个setTimeout回调,但当我把它放在另一个函数,我得到一个错误与tsc:

function delayedSnapshot() {
    setTimeout( function() {
        var filename = "/Users/dc/dump/heapdump.heapsnapshot";
        heapdump.writeSnapshot(function(err, filename) {
          console.log("dump written to", filename);
        });
        process.exit(1);
    }, 5000);
}
>> error TS2384: Overload signatures must all be ambient or non-ambient.

如果我删除外部包装delayedSnapshot,它将编译良好。我在这里找到了一些关于环境的含义,但似乎不相关。

http://www.typescriptlang.org/Handbook modules-working-with-other-javascript-libraries

有人能解释我如何阻止这个错误的发生,但仍然保持我的包装器来控制回调触发与否?

将函数名称从delayedSnapshot()更改为其他名称

似乎在其他地方定义/声明了一个delayedSnapshot()方法,在这里被重载了。

相关内容

  • 没有找到相关文章

最新更新