2012-06-19 61 views
0

我使用 '請求' 模塊從Facebook API獲取JSON對象:如何通過node.js中的請求返回JSON(來自javascript)?

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函數?

謝謝。

回答

0

由於請求是異步的並觸發回調,因此不能在其中使用回車。你必須通過一個回調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); 
});