我在使用setInterval
时发现了一个奇怪的行为。我正在使用setInterval
请求服务器每2秒发送一次数据,这是我很自然地要做的事情:
this.socketInterval = setInterval(this.socketio.emit, 2000, 'persist'); // didn't work
我认为它可以做到这一点,
this.socketio.emit('persist');
曾经工作过。相反,它引发了错误
Uncaught TypeError: Cannot read property 'push' of undefined
我通过将其封装在一个函数中来实现它,但我仍然很好奇为什么简单地传递this.socketio.emit
作为第一个参数不起作用。
this.socketInterval = setInterval(p => this.socketio.emit(p), 2000, 'persist'); // works!