如何停止收听socket.io频道?

如何停止收听socket.io频道?,socket.io,Socket.io,在socket.io中,您可以像这样绑定到套接字事件/通道: <script src="/socket.io/socket.io.js"></script> <script> var socket = io.connect('http://localhost'); socket.on('news', function (data) { console.log(data); socket.emit('my other event', { my:

在socket.io中,您可以像这样绑定到套接字事件/通道:

<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io.connect('http://localhost');
   socket.on('news', function (data) {
   console.log(data);
   socket.emit('my other event', { my: 'data' });
 });
</script>

var socket=io.connect('http://localhost');
socket.on('news',函数(数据){
控制台日志(数据);
emit('my other event',{my:'data'});
});

但是你如何停止收听“新闻”节目呢

尝试,
socket.removeAllListeners(“新闻”)

如果只想删除特定事件,可以尝试
socket.removeListener(“you_事件”)

也可以使用
关闭
功能

  • socket.off('news');//停止收听“新闻”事件
  • socket.off('news',myFunction);//如果同一事件有多个侦听器,则此功能非常有用
  • socket.off();//停止收听所有事件


来源 根据“套接字实际上继承发射器类的每个方法,如
hasListeners
一次
关闭
(删除事件侦听器)。”

:

  • 传递
    event
    fn
    以删除侦听器
  • 传递
    event
    以删除该事件上的所有侦听器
  • 不传递任何内容以删除所有事件上的所有侦听器

看看这个Answare谢谢,我从Gaurav发布的帖子中得到了这个答案,但他从来没有把它作为答案。Android也是如此。:)