我正在尝试将一个类的成员函数作为回调传递给另一个类。但是当其他类试图调用回调时,我收到以下错误:
TypeError:this.dataUpdateCallback不是函数
这是完整的代码:
// Class A
module.exports = function MyTestClass() {
// Member variables
this.service = null;
// Starts the service
this.start = function() {
this.service = new MyCoolService(this.processNewData);
this.service.start();
}
// Processes incoming data
this.processNewData = function(data) {
console.log(data);
}
}
// Class B
module.exports = function MyCoolService(aDataUpdateCallback) {
// Member variables
this.dataUpdateCallback = aDataUpdateCallback;
// Starts the service
this.start = function() {
// Do stuff, then call...
this.dataUpdateCallback("Hello World!"); // => TypeError: this.dataUpdateCallback is not a function
}
}
PS:我不认为上面提到的副本有帮助。问题似乎有点不同...... 据我所知,我必须在B类的某处保存A类的这个,这样当调用A类时我可以使用正确的A类。但是B级永远不会看到这个,所以我无法存储。