通过RabbitMQ发送数组



如何使用RabbitMQ发送消息数组?我不想把每条消息都分开发送。

例如:

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

如何使用:

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

谢谢!

你可以像这样传递JSON:

var json = JSON.stringify(arr);
ch.publish(ex, '', new Buffer(json));

我如何使用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
});

除了@ derrick -bailey所说的,如果你需要在每条消息中发送多个变量,你总是可以用逗号分隔变量的字符串。或者,如果你想在文本中使用逗号,你可以找到其他有效的符号

相关内容

  • 没有找到相关文章

最新更新