Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Node.js中的类中启动并返回一个类_Javascript_Node.js_Class - Fatal编程技术网

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