Перегрузка не соответствует этому вызову при переборе node.js событий процесса - PullRequest
0 голосов
/ 21 апреля 2020

Я использую библиотеку, которая по умолчанию добавляет uncaughtException и unhandledRejection слушателей. У меня sh для их удаления.

Вот мой код:

["unhandledRejection", "uncaughtException"].forEach((eventName) =>
  process
    .listeners(eventName)
    .map((handler) => process.off(eventName, handler))
  );

TypeScript дает мне эту ошибку:

No overload matches this call.
  The last overload gave the following error.
    Argument of type 'string' is not assignable to parameter of type 'Signals'.

Глядя на global.d.ts в комплекте с @types/node Я вижу, что объявления сделаны так:

listeners(event: "uncaughtException"): UncaughtExceptionListener[];
listeners(event: "unhandledRejection"): UnhandledRejectionListener[];
listeners(event: Signals): SignalsListener[];

Таким образом, похоже, что компилятор TypeScript считает, что я sh должен использовать сигнатуру функции event: Signals. Что не то, что я хочу!

Есть ли способ сказать TypeScript, какой я хочу использовать? Или иначе решить проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...