Node.js 如何处理异步任务类型的ACK

Node.js 如何处理异步任务类型的ACK,node.js,rabbitmq,Node.js,Rabbitmq,现在我有一个RabbitMQ队列设置,我有几个工人正在监听推送到这个队列上的事件 事件本质上是字符串URL(例如“”),它将通过Puppeter进行处理 我想知道的是,如果木偶演员是异步的,有没有一种方法可以让我在完成所有异步的东西后返回ack 现在,我认为我的员工在排队等候是因为ack没有被解雇 编辑——下面的代码是我在rabbitmq的consume部分中调用的代码。因为这是异步的,所以它只是通过这个操作,然后立即确认 (async () => { const args

现在我有一个RabbitMQ队列设置,我有几个工人正在监听推送到这个队列上的事件

事件本质上是字符串URL(例如“”),它将通过Puppeter进行处理

我想知道的是,如果木偶演员是异步的,有没有一种方法可以让我在完成所有异步的东西后返回ack

现在,我认为我的员工在排队等候是因为ack没有被解雇

编辑——下面的代码是我在rabbitmq的
consume
部分中调用的代码。因为这是异步的,所以它只是通过这个操作,然后立即确认

    (async () => {
    const args = {
        evaluatePage: (() => ({
            title: $('title').text(),
        })),
        persistCache: true,
        cache,
        onSuccess: (result => {
            console.log('value for result -- ', result.result.title);
        }),
    };

    // we need to first setup the crawler
    // then we can start sending information to it
    const crawler = await HCCrawler.launch(args);

    crawler.queue(urls);

    await crawler.onIdle();
    await crawler.close();
})();

您的代码在哪里?@0.sh抱歉,刚才添加了一些代码。因此,在hte
onSuccess
中,我可以得到操作的结果。在运行
channel.ack(msg)
之前,如何确定onSuccess是否已被调用?