例如我有.js文件,它是一个单独的脚本。我有一些函数在这个脚本中,这个函数正在制作一些定时器(setTimeout)。所有这些计时器都与变量无关。
喜欢
function zzz(){
setTimeout(yyy, 100);
};
我需要知道所有这些计时器何时完成,如果Node JS有一些事件。或者我需要此脚本中所有计时器的列表(如果存在)。例如,在任何随机时刻检查此列表的长度。
答案 0 :(得分:0)
您可以创建EventEmitter并在setTimeout
回调结束时发出活动。然后,您可以使用解决方案来跟踪所有预期事件何时触发。扩展文档中的示例:
'use strict';
const EventEmitter = require('events');
class MyEmitter extends EventEmitter {}
const myEmitter = new MyEmitter();
myEmitter.on('event', (data) => {
console.log(data); // yyy
});
function yyy() {
return;
}
setTimeout(() => {
yyy();
myEmitter.emit('event', 'yyy');
}, 100);