我有一个路由需要等待Redis发布/订阅消息才能发送响应。
app.post('/route', async function (req: any, rep) {
// Listen for redis
redis.on('message', async (ch, msg) => {
let match = JSON.parse(msg)
if (match.id == req.body.id) {
rep.send('ok')
}
})
// How to "wait" here?
})
由于ioredis.on()
不返回Promise
,所以我不能使用await
来阻止,我该怎么做才能让代码“等待”Redis消息呢?
2条答案
按热度按时间qacovj5a1#
一个简单的 Package 器就可以了
svujldwt2#
对Konrad的回答进行了修改,以便您可以处理多个消息,直到某些条件匹配为止。