【发布时间】:2020-07-20 15:49:40
【问题描述】:
我在 AWS ElastiCache 中有一个 Redis 服务器。将消息发布到 Redis 通道。并试图通过订阅来获取消息。我正在使用如下的 Javascript 示例。
const redis = require("redis");
const subscriber = redis.createClient();
let messageCount = 0;
subscriber.on("message", function(channel, message) {
messageCount += 1;
console.log("Subscriber received message in channel '" + channel + "': " + message);
if (messageCount === 2) {
subscriber.unsubscribe();
subscriber.quit();
}
});
subscriber.subscribe("my_channel");
到目前为止我作为一个JS新手了解,上面的示例是一个同步调用。
现在我想让订阅者消息调用异步可能如下所示:
await subscriber.onAsync('message').then(function(channel, message){
console.log(JSON.stringify(message));
}).catch(function(e){
console.log(e);
});
基本上我会在 AWS Lambda 中使用这个异步调用。
我一直在谷歌搜索,但仍然没有运气。 如果有类似的Q/A,请分享给我。
谢谢。
【问题讨论】:
标签: javascript node.js redis