Узел - определить, запланированы ли тайм-ауты, интервалы, тики в будущем - PullRequest
0 голосов
/ 21 октября 2019

Программа Node завершит свою работу, если она станет бездействующей и в будущем не запланировано никаких обратных вызовов. Меня особенно интересуют 3 различных способа планирования обратных вызовов:

  • setTimeout
  • setInterval
  • process.nextTick

Есть ли способ написать функции isTimeoutScheduled, isIntervalScheduled и isTickScheduled, которые возвращают, был ли в настоящий момент запланирован обратный вызов ?

Некоторые примерыбудет:

example1.js

console.log(isTimeoutScheduled()); // `false` expected
setTimeout(() => console.log('HAAA'));
console.log(isTimeoutScheduled()); // `true` expected

example2.js

console.log(isIntervalScheduled()); // `false` expected
setInterval(() => console.log('WHEEE'));
console.log(isIntervalScheduled()); // `true` expected

пример3. JS

console.log(isTickScheduled()); // `false` expected
process.nextTick(() => console.log('SWOOP'));
console.log(isTickScheduled()); // `true` expected
...