在项目中,常常需要使用定时器做一些轮询的操作,Node JS里面提供了两个全局函数setTimeout
和setInterval
来实现,但是在使用中,定时任务往往是一些耗时操作,我们期望每一次轮询等操作做完了在重新开始定时器,因此需要对定时器进行暂停和恢复,所以对定时器进行了一个简单的封装,代码如下:
class CTimer {
/**
*
* @param {function} callback
* @param {number} interval ms
*/
constructor(callback, interval) {
this.state = 0;//0-stop 1-runing 2-pause
this.callback = callback;
this.interval = interval;
this.start();
}
start() {