如何在Node JS中获取计时器列表?

时间:2016-11-15 20:39:05

标签: node.js timer

例如我有.js文件,它是一个单独的脚本。我有一些函数在这个脚本中,这个函数正在制作一些定时器(setTimeout)。所有这些计时器都与变量无关。

喜欢

function zzz(){
    setTimeout(yyy, 100);
};

我需要知道所有这些计时器何时完成,如果Node JS有一些事件。或者我需要此脚本中所有计时器的列表(如果存在)。例如,在任何随机时刻检查此列表的长度。

1 个答案:

答案 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);