我有一个上一个问题Object [object Object] has no method 'test'现在对象的问题已经消失,但回调不起作用,控制台.log打印未定义
this.test = function(callback) {
callback('i am test');
};
var self = this;
module.exports.config = function (settings, callback) {
self.test(function(err,res){
console.log(res);
});
};
请忽略,因为我是nodejs的新手
答案 0 :(得分:0)
this.test()
期望一个将作为第一个参数传递一个字符串的回调。你给它一个回调函数,它使用第二个参数,而不是第一个参数。由于没有第二个参数传递给回调,因此您可以获得undefined
。
从此处更改您的电话:
self.test(function(err,res){
console.log(res);
});
到此:
self.test(function(err){
console.log(err);
});
或者,或者更改this.test()
的实现以将第二个参数传递给其回调。
this.test = function(callback) {
// pass two arguments to the callback
callback('i am test', 'this is me');
};
var self = this;
module.exports.config = function (settings, callback) {
self.test(function(err,res){
// now both arguments err and res are available here
console.log(res);
});
};