java中node类的方法_在Node.js中的类中初始化并返回一个类

我有一个我们要称为Connection的类,并且该类中有一个名为Disconnect的函数,该函数返回一个名为PartialConnection的类。这两个类都有一些参数,但是不应生效,因为对于这样的示例而言,它相当复杂。

这是我正在处理的类结构:

const BaseConnection = require("./BaseConnection.js");

const PartialConnection = require("./PartialConnection.js");

class Connection extends BaseConnection { // BaseConnection is also a class with standard variables every type of connection should have. PartialConnection also extends from this.

constructor () {

...

}

Disconnect() {

return new PartialConnection();

}

}

在大家问之前,./PartialConnection.js的路径是正确的,并且以module.exports = PartialConnection;设置,并且以PartialConnection作为类名。

文件PartialConnection.js

const Connection = require("./Connection");

const BaseCon = require("./BaseConnection");

class PartialConnection extends BaseCon {

constructor () {

...

}

}

module.exports = PartialConnection;

尽管,我必须说module.exports = PartialConnection的颜色已如下图所示:https://imgur.com/a/pB9yLW5-我还应该说,当执行相同的功能但对于PartialConnection to Connection时,它的工作正常。它与循环引用有关。

当我创建Connection的新实例并运行Disconnect函数时,它返回以下错误:

/Users/---/Desktop/Projects/QDB/lib/Connections/Connection.js:87

return new PartialConnection();

^

TypeError: PartialConnection is not a constructor

at Connection.Disconnect (/Users/---/Desktop/Projects/QDB/lib/Connections/Connection.js:87:16)

at process. (/Users/---/Desktop/Projects/QDB/lib/Connections/Connection.js:76:75)

at process.emit (events.js:219:5)

(为了保密起见,我屏蔽了我的名字。)

如您所见,似乎我无法启动并返回某种新类。这曾经在几周前有效,但现在却没有。

版本;

$ node -v

v13.3.0

$ npm -v

6.14.2

为了澄清,我希望它几乎完全终止当前类,并返回一个不允许您对Connection类进行调整的新类。

如果您有任何解决方案,或者您可以以任何方式提供帮助,我们将不胜感激!

0

投票

好,所以我进行了更多的实验,发现如果您在函数中而不是文件的开头需要该类,则该类会立即缓存,您可以调用它,而不必让它返回一个空对象。

const BaseConnection = require("./BaseConnection");

class Connection extends BaseConnection {

constructor () {

...

}

Disconnect() {

const PartialConnection = require("./PartialConnection");

return new PartialConnection();

}

}

如果您还有其他答案,请稍后分享!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值