2015-09-15 107 views
1

如何使用RabbitMQ发送消息数组? 我不想单独发送每封邮件。通过RabbitMQ发送数组

对于examlple:

ch.publish(ex, '', new Buffer('hello world')); 

我怎么能使用somethink像:

ch.publish(ex, '', new Buffer([msg1, msg2, msg3...])); 

谢谢!

回答

0

如何使用RabbitMQ发送消息数组?我不想单独发送每封邮件。

你不行。每封邮件必须单独发送。

如果你试图做你想做的事情,你最终将得到一个包含你想发送的所有单个消息的“消息”。

如果你想创建一个看起来像你可以这样做的API,只需创建一个接收消息数组的函数,循环遍历它们并一次发送一个消息。

(的NodeJS/amqplib)

function publishAll(ex, ...messages){ 
    return messages.map((msg) => { 
    ch.publish(ex, '', msg); 
    }); 
} 

var pub = publishAll("my.exchange", [msg1, msg2, msg3]); 
pub.then(() => { 
    // run code after they are all published 
});