socket.io的“on”方法是加法器还是setter?

时间:2013-04-22 05:59:43

标签: javascript socket.io observer-pattern

在socket.io中,将使用“on”两次替换较旧的注册,或者该事件是否会触发两个侦听器?这是一般的javascript“on”方法的一般行为吗?还有一个原因是没有socket.io文档吗?

var socket = io.connect("host:port")
socket.on('data', function(data) {
  console.log('listener1');
}

socket.on('data', function(data) {
  console.log('listener2');
}

1 个答案:

答案 0 :(得分:1)

JavaScript没有on方法。库只是将它实现为Event Emitter / Pub-Sub模式的一部分,其中代码“侦听”其他代码。

不,它不会取代现有的注册。它们被添加到“队列”中。可以这样想:它不仅仅是一段代码来监听数据到达。可能有数百条线路正在侦听相同的数据。