Программа 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