2015-09-15 145 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 
});