在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');
}
答案 0 :(得分:1)
JavaScript没有on
方法。库只是将它实现为Event Emitter / Pub-Sub模式的一部分,其中代码“侦听”其他代码。
不,它不会取代现有的注册。它们被添加到“队列”中。可以这样想:它不仅仅是一段代码来监听数据到达。可能有数百条线路正在侦听相同的数据。