【发布时间】:2022-01-29 06:34:46
【问题描述】:
为了澄清,我设置了一个 websocket,每隔几分钟就会发回一些数据,并且根据发回的数据,我想对这些数据运行一些例程。而且我想在一天中的不同时间使用相同的 websocket 继续运行不同的例程。我需要流数据,但我还需要一个事件监听器。我的想法是在不同的文件中启动 websocket,然后将其导出到文件夹中的不同文件,但这不起作用,因为新的 websocket 启动了。我一次只能有 1 个 websocket 连接。
例如:
openConnection.js
(() =>
{
const url = "wss://stream.data";
const ws = new WebSocket(url);
ws.on('open', () =>
{
ws.send(`{"authorize"}`);
});
module.exports = ws;
})();
然后 ->
someFunction.js
const ws = require('./openConnection.js');
function foo ()
{
// using the imported websocket
ws.addEventListener('message', (data) =>
{
doSomething(data)
});
}
有没有办法让我在不同的文件中使用相同的 websocket 连接?
【问题讨论】:
-
你也在用快递吗?
-
仅供参考,在您的模块中使用 IIFE 的理由为零。该模块已经是它自己的函数范围,因此在该函数范围内使用 IIFE 没有任何作用。而且,您正在展示 CommonJS 模块与 ESM 模块的混合。选择
import和export或require()和module.exports。不要混音,除非您想深入了解如何成功混音的复杂世界。