在node.js中使用amqp-lib(7)我在使用RabbitMQ队列时等待异步任务时遇到问题 .

例如,

channel.consume(exchange_name, doWork, {
        noAck: false
    });

    function doWork(msg) {
        log.info(JSON.parse(msg.content.toString()));
        setTimeout(function () {
            log.info("   Done");
            channel.ack(msg);
        }, 2000);
    }

这应该是,AFAIK从队列中检索消息,处理它,然后确认该过程完成并成功 .

但是,当我运行它与具有1000条消息的队列时,它将获取所有1000条消息并启动该过程 . 然后2秒钟,确认一切都完成了 .

是否可以等待该过程完成然后获得下一个过程? (工作人员在等待另一个进程时不应该消耗数十万条消息) .

提前致谢