我定义了一个类SchemaProvider:
class SchemaProvider {
constructor(selectedOperation){
this.selectedOperation = selectedOperation
}
}
module.exports = SchemaProvider
我正在另一个类中创建该类的新实例:
let schemaGenerator = require('./SchemaProvider')
schemaGenerator = new schemaGenerator(selectedOperation)
一次调用new schemaGenerator(selectedOperation)可以正常工作,但是第二次调用会引发TypeError:schemaGenerator不是构造函数。
因此,每次进行新的调用时,我都需要重新启动程序。
代码中需要更改什么?
最佳答案
这是因为您要将new schemaGenerator
创建的对象分配给本地schemaGenerator
变量,并使用对该新对象的引用覆盖对构造函数的引用:
schemaGenerator = new schemaGenerator(selectedOperation)
// ^^^^^^^^^^^^^^^^^
该新对象不是构造函数。只需对结果对象使用不同的变量名。
let obj1 = new schemaGenerator(selectedOperation);
// ^^^^^^^^^^
let obj2 = new schemaGenerator(selectedOperation);
// ^^^^^^^^^^