Javascript 在Node.js中的类中启动并返回一个类
我有一个类,我们将调用它Javascript 在Node.js中的类中启动并返回一个类,javascript,node.js,class,Javascript,Node.js,Class,我有一个类,我们将调用它Connection,这个类中有一个名为Disconnect的函数,它返回一个名为PartialConnection的类。这两个类都有一些参数,但这不应该生效,因为对于这样一个示例来说,这相当复杂 这是我正在绘制的类结构: constbaseconnection=require(“./BaseConnection.js”); const PartialConnection=require(“./PartialConnection.js”); 类连接扩展了BaseConne
Connection
,这个类中有一个名为Disconnect
的函数,它返回一个名为PartialConnection
的类。这两个类都有一些参数,但这不应该生效,因为对于这样一个示例来说,这相当复杂
这是我正在绘制的类结构:
constbaseconnection=require(“./BaseConnection.js”);
const PartialConnection=require(“./PartialConnection.js”);
类连接扩展了BaseConnection{//BaseConnection也是一个具有标准变量的类,每种类型的连接都应该具有标准变量。PartialConnection也由此扩展。
构造函数(){
...
}
断开连接(){
返回新的PartialConnection();
}
}
在所有人询问之前,指向/PartialConnection.js
的路径是正确的,并且设置为module.exports=PartialConnection代码>带有PartialConnection
作为类名
文件PartialConnection.js
const Connection=require(“./连接”);
const BaseCon=require(“./BaseConnection”);
类PartialConnection扩展了BaseCon{
构造函数(){
...
}
}
module.exports=部分连接;
尽管如此,我必须说,module.exports=PartialConnection
的着色是关闭的,如下所示:-我还应该说,当执行相同的函数时,但对于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.<anonymous> (/Users/---/Desktop/Projects/QDB/lib/Connections/Connection.js:76:75)
at process.emit (events.js:219:5)
为了澄清,我希望它几乎完全终止当前类并返回一个新类,该类不允许您对连接进行调整
如果您有任何解决方案,或者您可以以任何方式提供帮助,我们将不胜感激 好吧,我做了更多的实验,发现如果你需要函数中的类而不是文件开头的类,它会立即缓存,你可以调用它而不是让它返回一个空对象
const BaseConnection=require(“./BaseConnection”);
类连接扩展了BaseConnection{
构造函数(){
...
}
断开连接(){
const PartialConnection=require(“./PartialConnection”);
返回新的PartialConnection();
}
}
如果你有任何其他的答案,稍后,请随意分享 好吧,我做了更多的实验,发现如果你需要函数中的类而不是文件开头的类,它会立即缓存,你可以调用它而不是让它返回一个空对象
const BaseConnection=require(“./BaseConnection”);
类连接扩展了BaseConnection{
构造函数(){
...
}
断开连接(){
const PartialConnection=require(“./PartialConnection”);
返回新的PartialConnection();
}
}
如果你有任何其他的答案,稍后,请随意分享 当您收到该错误时要做的第一件事是console.log(PartialConnection)代码>就在您的const PartialConnection=require(“…”)下面代码>以查看您得到了什么instead@blex它返回一个空对象。呵呵。这是否意味着PartialConnection
没有被缓存?这意味着PartialConnection.js
文件不会导出您认为它所做的事情。你能分享那个文件的部分版本吗?当然。这是一个循环依赖性问题-部分连接需要连接,连接需要部分连接。调用时使用函数返回类,这样应该不会有问题代码>就在您的const PartialConnection=require(“…”)下面代码>以查看您得到了什么instead@blex它返回一个空对象。呵呵。这是否意味着PartialConnection
没有被缓存?这意味着PartialConnection.js
文件不会导出您认为它所做的事情。你能分享那个文件的部分版本吗?当然。这是一个循环依赖性问题-部分连接需要连接,连接需要部分连接。调用时使用函数返回类,这样应该不会有问题。
$ node -v
v13.3.0
$ npm -v
6.14.2