节点ch.sendToQueue()的ampqlib是否是阻塞调用?

时间:2019-01-16 02:34:52

标签: rabbitmq node-amqplib

我不确定amqplib的函数ch.sendToQueue()是否阻塞。我将其包装在一个Promise中,如下所示,我使用消息“ Success”来解决它,但是我不确定它是否实际上正在等待将消息添加到队列中。

return new Promise(function (resolve, reject) {
    amqp.connect(amqp_uri, function (err, conn) {
        if (err) reject(err);

        conn.createChannel(function (err, ch) {
            if (err) reject(err);

            var q = 'kds';
            var msg = entity_id;

            ch.assertQueue(q, { durable: false });
            ch.sendToQueue(q, Buffer.from(msg));
            console.log(" [x] Sent %s", msg);
        });
        setTimeout(function () { conn.close(); resolve('Success!') }, 500);
    });
});

0 个答案:

没有答案