Javascript redisClient.on('message')中触发了多个事件
我试图通过redis与Django和Node.js通信,但当我试图在Node.js中获取on'message'事件时,我得到了两次该事件 我有这个:Javascript redisClient.on('message')中触发了多个事件,javascript,python,django,node.js,redis,Javascript,Python,Django,Node.js,Redis,我试图通过redis与Django和Node.js通信,但当我试图在Node.js中获取on'message'事件时,我得到了两次该事件 我有这个: io.sockets.on('connection', function (socket) { //Subscribe to chat channel sub.subscribe('chat'); //Get the event 'message' from Django sub.on('message', function(channel,
io.sockets.on('connection', function (socket) {
//Subscribe to chat channel
sub.subscribe('chat');
//Get the event 'message' from Django
sub.on('message', function(channel, message){
console.log("counter");
});
.
.
.
我得到计数器打印3次,当我从另一个客户端连接时,我得到4,5,6
我怎样才能只收听一次活动?确保您收听的频道正确
sub.on('message', function(channel, message){
switch (channel) {
case 'chat':
console.log("counter");
break;
}
});
您在socket.io连接侦听器中添加了一个侦听器,因此每次打开新连接时,您都会再次连接该侦听器。只需将消息侦听器附加到连接侦听器之外。我尝试过,但没有成功。我得到柜台4次我不知道该怎么办你在用集群吗?这可以解释为什么您会得到多个控制台日志。