Node.js / Express / Redis只等待来自通道的一条消息

我有一个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); }); 

问题是我希望这个请求一旦得到就停止收听消息。 否则,当我再次经历时,它仍然在听,并且会再次得到下一个消息。 一旦收到消息,我不确定如何从自身中删除监听器。

没有testing,但这应该工作,

 var callback = function(channel, msg) { console.log('rcv: ' + msg); redisSub.removeListener('message', callback); } redisSub.on('message', callback);