gpt4 book ai didi

javascript - 如何要求另一个模块中的一个模块使用事件发射器?

转载 作者:行者123 更新时间:2023-12-03 02:50:01 26 4
gpt4 key购买 nike

我有一个像这样的快速服务器文件

const express = require('express')
const app = express()

app.get('/', (req, res) => res.send('Hello World!'))

app.listen(3000, () => console.log('Example app listening on port 3000!')

我有一个用于为 tcpServer 运行不同端口的文件

const net = require('net');
const lora_packet = require('lora-packet');
const dataParser = require('./dataParser');

const clients = [];


net.createServer(function(socket) {
socket.name = socket.remoteAddress + ":" + socket.remotePort;
clients.push(socket);


socket.on('data', function(data) {
try {
console.log("Buffer sent by terminal : ");

}catch(err){
console.log("DATA RECEIVING PRODUCED AN ERROR" + err);
}

});
socket.on('end', function() {
clients.splice(clients.indexOf(socket), 1);
//broadcast(socket.name + "has left the cartel.\n");
});

socket.on('error', function (exc) {
console.log("ignoring exception: " + exc);
});



}).listen(8080);

我想在两个模块中使用事件发射器来将其中一台服务器的更改通知另一台服务器。但我面临的问题是,要发出事件,我必须需要其他模块,这不会产生循环依赖吗?我应该如何解决这个问题?循环依赖有问题吗?或者它可以在您的 Node.js 服务器中使用吗?

是否可以通过解决循环依赖来实现目标?

最佳答案

虽然 Node.JS 有多种处理循环依赖的方法,但动态需求通常是一个坏主意 - 它可能会造成许多不可预测的情况。最好要求您需要的所有模块,然后在发射器中使用它们。

关于javascript - 如何要求另一个模块中的一个模块使用事件发射器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47919080/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com