I am using 'request' module to get JSON object from facebook API:
exports.userInfo = function (userID, accessToken){
request.get({url: facebookAPI.ME + accessToken, json: true}, function(error, response, user){
if (error) {
console.log(error);
} else {
if (typeof(user) !== 'undefined'){
return User;
}
}
});
};
However, if I call this crawler from outside, I do not get valid JSON object returned.
var crawler = require('./helper/crawler');
console.log(crawler.userInfo(userID, accessToken));
How can I make it so that when request returns valid JSON object and return that valid JSON object to userInfo function?
Thank you.
As request is asynchron and triggers a callback, you can't use return in it. You have to pass a callback to crawler.userInfo, like this:
exports.userInfo = function (userID, accessToken, callback){
request.get({
url: facebookAPI.ME + accessToken,
json: true
}, callback);
};
And then from outside
var crawler = require('./helper/crawler');
crawler.userInfo(userID, accessToken, function (error, response) {
console.log(response);
});