2014-04-29 3 views
0

Я пытаюсь использовать функцию в другом модуле, я не могу ее использовать, возможно, я знаю, в чем проблема?Объект [object Object] не имеет метода 'test'

this.test = function(callback) { 
     callback('i am test'); 
    }; 
    module.exports.config = function (settings, callback) { 
    this.test(function(err,res){ 
    console.log(res); 
    }); 
    }; 

ответ

1

Значение this отличается тем, что вы внутри другой функции. Попробуйте вместо этого:

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); 
    }); 
}; 

Или просто дать имя функции и вызвать его непосредственно:

function test(callback) { 
    callback('i am test'); 
}; 
module.exports.config = function (settings, callback) { 
    test(function(err,res){ 
    console.log(res); 
    }); 
}; 
Смежные вопросы