繁体   English   中英

Nodejs:rabbitmq等待消费

[英]Nodejs: rabbitmq await consume

这是我的代码:

// send to queue
channel.sendToQueue("test", data);

发布test后,在另一台服务器上我们从该服务器收到响应

所以,我想等待它并等待它:

await channel.consume("response", async (msg) => {
  ....
})

但是等待不在这里工作

我怎样才能等待消费?

我的完整代码:

channel.sendToQueue("test", data);
await channel.consume("response", async (msg) => {
  ....
})
// continue code

构建一个 promise 并将其包装在您的消费 function 调用中。 这是一个回调,所以我们可以调用resolve来让我们的外部 promise 真正解析。

channel.consume不返回可等待的响应,所以我们不能await它。

await new Promise((resolve, reject) => {
  channel.consume("response", (msg) => {
    resolve(msg);
  })
}) 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM