我有一个我们要称为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到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.<anonymous> (/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
类进行调整的新类。如果您有任何解决方案或可以通过任何方式提供帮助,我们将不胜感激!
最佳答案
好吧,所以我进行了更多的实验,发现,如果您需要函数中的类而不是文件的开头,则它会立即缓存,您可以调用它,而不必让它返回空对象。
const BaseConnection = require("./BaseConnection");
class Connection extends BaseConnection {
constructor () {
...
}
Disconnect() {
const PartialConnection = require("./PartialConnection");
return new PartialConnection();
}
}
如果您还有其他答案,请稍后分享!