如何通过node.js中的请求(从javascript)返回JSON?

如何通过node.js中的请求(从javascript)返回JSON?,javascript,node.js,request,Javascript,Node.js,Request,我正在使用“请求”模块从facebook API获取JSON对象: exports.userInfo = function (userID, accessToken){ request.get({url: facebookAPI.ME + accessToken, json: true}, function(error, response, user){ if (error) { console.log(error); } else { if (t

我正在使用“请求”模块从facebook API获取JSON对象:

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

    }
});
})

但是,如果我从外部调用此爬虫程序,则不会返回有效的JSON对象

var crawler = require('./helper/crawler');
console.log(crawler.userInfo(userID, accessToken)); 
如何使请求返回有效的JSON对象并将该有效的JSON对象返回给userInfo函数


谢谢。

由于请求是异步的并会触发回调,所以不能在其中使用return。您必须将回调传递给crawler.userInfo,如下所示:

exports.userInfo = function (userID, accessToken, callback){
  request.get({
    url: facebookAPI.ME + accessToken,
    json: true
  }, callback);
};
然后从外面

var crawler = require('./helper/crawler');
crawler.userInfo(userID, accessToken, function (error, response) {
  console.log(response);
});