在Node.js中使用node-amqp模块进行手动确认

我正在使用postwait模块node- amqp。

我能够发布/订阅队列的一些消息,但我想手动确认消息。

例如,我希望消息被读取并且不被确认,然后对这个消息执行一些计算,然后发送一个q.shift()来确认消息并且通过第二个消息。

我想要确认手动使用。

其实我有一个允许订阅国旗{ack: false}的函数,那么我有一个函数来手动创build一个q.shift() (如文档中所述)。

但是,当我发布2条消息,然后我读了2条消息,没有确认,我看到了2条消息。 但是我希望子文件重复最初收到的同样的信息,直到我不承认它。

我怎样才能使用这些方法?

我知道这个问题有点古怪,只是在我寻找问题的时候才看到

您必须将“ack-flag”设置为true,以确保您手动确认消息。 ack:false表示确认将自动完成

 queue.subscribe({ack: true}, ...