Javascript socket.on()和socket.once()之间的差异

Javascript socket.on()和socket.once()之间的差异,javascript,websocket,socket.io,Javascript,Websocket,Socket.io,在客户端,我使用了socket.On()并获得了多个侦听器。我在一个答案中找到了将其更改为socket.once()的方法,效果很好。但我找不到原因。有人能告诉我区别吗?哪一个更好?谢谢。Socket.on用于为给定事件注册新的处理程序 socket.on('news', (data) => { console.log(data); }); // with several arguments socket.on('news', (arg1, arg2, arg3) => {

在客户端,我使用了socket.On()并获得了多个侦听器。我在一个答案中找到了将其更改为socket.once()的方法,效果很好。但我找不到原因。有人能告诉我区别吗?哪一个更好?谢谢。

Socket.on用于为给定事件注册新的处理程序

socket.on('news', (data) => {
  console.log(data);
});
// with several arguments
socket.on('news', (arg1, arg2, arg3) => {
  // ...
});
// or with acknowledgement
socket.on('news', (data, callback) => {
  callback(0);
});
Socket.once仅适用于事件侦听器-当您只希望在下次事件发生时收到通知,而不希望在后续事件发生时收到通知

因此,socket.once在下次事件发生时激发

每次事件发生时,socket.on都会激发