[英]How do I create a function library which I can used across all my Vuejs components?
[英]How do I split up my rabbitMQ code across components?
我想分割我的rabbitMQ連接代碼並在不同的組件中調用它,這樣它(連接和通道)只初始化ONCE,我可以使用它而不必在我想使用它時再次打開連接。
現在發生的事情是,每當我想把一些東西傳遞給我的交換和隊列時,我會一遍又一遍地調用下面的代碼函數。 (所以如果我想將20個單獨的數據傳遞給rabbitMQ,我最終打開和關閉連接和通道20次)
有解決方案嗎
const exchange = "Exchange";
const queue = "Queue";
const passSomeData= async payload => {
amqp = require("amqplib").connect("amqp://localhost");
let ch;
let connection;
let publish = amqp
.then(function(conn) {
connection = conn;
return conn.createConfirmChannel();
})
.then(function(chn) {
ch = chn;
ch.assertQueue(queue, { durable: true });
return ch.assertExchange(exchange, "topic", { durable: true });
})
.then(function() {
const data = {
content: "x",
title: "y",
};
ch.bindQueue(queue, exchange, "routingKey");
return ch.publish(exchange, "routingKey", Buffer.from(JSON.stringify(data)), {
persistent: true
});
})
.then(() => {
setTimeout(function() {
connection.close();
}, 250);
});
};
module.exports = passSomeData;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.