假设我有这个模块:
module.exports = {
functionA: function (err, callback, res) {
// some data process
callback(err, this.functionB, res)
},
functionB: function(){
//some data process
}
}
在我的主要功能上,我接到了这样的呼叫:
functionA(err, functionC, res)
这给我functionC
中的callback(functionB)未定义,如下所示:
functionC: function (err, callback, res) {
callback(/*some parameter */) //err: callback is undefined
}
我尝试使用来更新functionA
:
functionA: function (err, callback, res) {
// some data process
callback(err, this.functionB, res)
}
但是我没有得到functionB
的定义。
答案 0 :(得分:-1)
您为什么还要尝试这样做?
如果我确定您要做什么,可以选择以下方法:
module.exports = {
functionA: function (err, callback, res) {
// some data process
this.functionB(err, callback, res);
},
functionB: function(err, callback, res){
//some data process
callback(err, res)
}
}
我相信您的方法行不通,因为您尝试返回未导出的模块函数,但我没有检查,但我认为在模块外部导出可能可行。 另一件事是,考虑到这是一个导出函数的事实,您可以直接调用它而不是将其带回回调中:)因此,您的方法是尝试解决一个不存在的问题。