How to return JSON via request in node.js (from javascript)?

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