我将Redis用作Node.js应用程序中的发布/订阅客户端。我将订户绑定到这样的频道模式:
client.psubscribe("events.*.new", (event) => console.log("NEW EVENT", event));
然后,我以这种方式在特定频道上发送一条消息:
client.publish("events.123.new", '{"some": "data"}');
在我的终端中,得到以下输出:
NEW EVENT null
我的问题是2倍:
null
?events.*.new
,因此似乎无法知道消息是在通道events.123.new
还是在events.456.new
上发送的。 是在有效载荷中内部传递此信息的唯一途径吗?谢谢!
答案 0 :(得分:1)
尝试一下:
client.psubscribe("events.*.new");
client.on('pmessage', function (pattern, channel, message) {
console.log(pattern, channel, message);
});
client.publish("events.123.new", '{"some": "data"}');
如果存在错误,则psubscribe的回调仅在第一个参数中返回错误。您可以找到更多信息here