socket.io 不允许 clearInterval 工作
socket.io not allowing clearInterval to work
我想从另一个 socket.emit 函数调用 clearInterval。但是,由于某些原因,它不允许我取消该功能。
io.on("connection", socket => {
socket.on('compute', message => {
const intervalID = setInterval(() => computeFunction(message.data, socket, intervalID), 100);
});
socket.on('erase', message) => {
clearInterval(message.id);
}
});
computeFunction(data, socket, id) {
socket.emit('delete', id);
}
您只发出 ID,当您处理 erase
事件时,您需要一个对象 (message.id
)。
尝试在 delete
事件中发射一个对象:
socket.emit('delete', {id}); // send an object {id: [socket id]}
此外,computeFunction
似乎没有使用 data
参数。
希望对您有所帮助。
我想从另一个 socket.emit 函数调用 clearInterval。但是,由于某些原因,它不允许我取消该功能。
io.on("connection", socket => {
socket.on('compute', message => {
const intervalID = setInterval(() => computeFunction(message.data, socket, intervalID), 100);
});
socket.on('erase', message) => {
clearInterval(message.id);
}
});
computeFunction(data, socket, id) {
socket.emit('delete', id);
}
您只发出 ID,当您处理 erase
事件时,您需要一个对象 (message.id
)。
尝试在 delete
事件中发射一个对象:
socket.emit('delete', {id}); // send an object {id: [socket id]}
此外,computeFunction
似乎没有使用 data
参数。
希望对您有所帮助。