"Все сигнатуры перегрузки должны быть окружающими или не окружающими" при использовании setTimeout в другой функции

У меня есть обратный вызов 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

Может кто-нибудь объяснить, как я могу предотвратить возникновение этой ошибки, но при этом оставить свою обертку для контроля срабатывания обратного вызова или нет?

0 ответов

Измените имя функции с delayedSnapshot() к чему-то еще.

Кажется, есть delayedSnapshot() метод определен / объявлен где-то еще, который здесь перегружен.

Другие вопросы по тегам