清除迭代器中的socket.io事件处理程序

时间:2017-09-13 08:38:28

标签: javascript socket.io

我有一个迭代器或某种每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()。感谢

0 个答案:

没有答案