get リクエストでチャネルにサブスクライブした redis 接続があります
app.get('/wait', function (req, res) {
redisSub.on('message', function(channel, msg) {
console.log('rcv: ' + msg);
});
});
その後、別の取得リクエストでメッセージを送信します
app.get('/done/:msg', function (req, res) {
redisPub.publish('message', req.params.msg);
});
問題は、そのリクエストがメッセージを取得したら、メッセージのリッスンを停止することです。そうしないと、もう一度通過すると、まだリッスンしていて、次のメッセージが再び表示されます。メッセージが受信されたら、リスナーをそれ自体から削除する方法がわかりません。