我有一个迭代器或某种每2秒运行一次的工作。在这份工作中,我有一个socket io事件处理程序。每次执行此事件处理程序时,它传递给服务器的值都会成倍增加。
这是我的代码:
function job() {
// SENDS DATA TO THE SERVER
app.io.emit('data', {name: 'test'});
let delay = setTimeout(()=>{
job();
}, 2000);
}
第二次执行作业时,它会将数据{name: 'test'}
两次抛出到服务器,依此类推。 。 。有没有办法防止这种情况,比如在再次执行之前清除事件处理程序?根据我的理解,它创建了一个新的事件处理程序eveyrtime执行app.io.emit()
。感谢