我知道这种方式违背了目的,但我看不到任何选择。
设置是这样的:
- 将接收消息以创建 RabbitMQ 队列的消息处理程序(函数)
- 处理程序将创建队列,接收队列创建承诺
- 然后处理程序返回一个响应消息,指示完成(队列创建)
- 此响应消息通过不同的队列发布
- 响应消息的接收者开始发布到新创建的队列
这就是问题所在。
我首先不等待队列的创建完成(要完成的承诺),并且发布者在队列的创建完成之前开始发布。
然后我尝试使用队列创建承诺履行来触发发布的开始。这里的问题是我无法在队列中传输 Promise(及其解决方案)以供发布者使用。
我夹在 Promise 和队列之间。如果我可以强制(等待)队列创建完成,那么我会没事的。
这可能吗?