我有一个我们要称为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();
}
}
如果您还有其他答案,请稍后分享!