gpt4 book ai didi

node.js - 初始化全局类并使其在整个 Node 应用程序中可用

转载 作者:太空宇宙 更新时间:2023-11-04 02:46:43 25 4
gpt4 key购买 nike

因此,我在当前项目中有一处正在初始化 APN(Apple 推送通知)连接,但我需要初始化它,因为我不需要多个连接实例。目前,我有一个类,它创建连接并将我们所需的监听器放在连接上以监视错误等。它看起来像这样:

export default class pushService {
constructor(options) {
... check that options is proper ...

this.apnConnection = apn.Provider(options);

... add listeners ...
}

sendMessage(message, recipents) {
this.apnConnection.send() messages
}
}

现在可能有多个位置需要使用此功能,但正如我所说,我希望整个应用程序只有一个 APN 连接实例。

那么,最好是在应用程序的主文件中初始化它并使其成为命名导出,还是应该以其他方式启动?如果可以避免的话,我认为导入整个主应用程序文件不是一个好主意,但这样做也许没有问题?

另外,如果这太主观了,我很抱歉,但我认为我还没有在这里看到过这个问题,也没有在我的 Google 搜索中得到过答案,而且它似乎可能有一个或多个好的解决方案。

最佳答案

我找到的最佳答案基于此博客文章:

ES6 Modules - Single Instance Pattern

最后我的数据库连接如下所示:

let instance = null;

export class dbConnection {
constructor() {
if(!instance)
instance = dbConnectionLibrary();

return instance;
}
}

我计划对我的推送通知服务执行相同的操作,并可能扩展该 dbConnection 类以将连接添加到连接数组,因为我们有一个新要求,即需要在启动时连接多个不同的数据库。

关于node.js - 初始化全局类并使其在整个 Node 应用程序中可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40389003/

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