2011-08-01 61 views
2

我正在向facebook api发出请求以获取朋友列表。当我通过node.js发出请求时,我的请求总是被截断。有谁知道为什么响应被截断?为什么我的node.js得到的响应被截断

这里是我的函数的代码:

var loadFriends; 
loadFriends = function(access_token, callback) { 
    var https, options, start; 
    https = require('https'); 
    start = new Date(); 
    options = { 
    host: 'graph.facebook.com', 
    port: 443, 
    path: '/me/friends?access_token=' + access_token 
    }; 
    return https.get(options, function(res) { 
    console.log("Request took:", new Date() - start, "ms"); 
    res.setEncoding("utf8"); 
    return res.on("data", function(responseData) { 
     var data; 
     console.log(responseData); 
     data = JSON.parse(responseData); 
     return callback(data); 
    }); 
    }); 
}; 
+0

请用语言或框架您正在使用这个标签,因为这不是JavaScript的/ Node.js的。 –

+0

我将它从coffeescript转换为javascript并进行相应标记 –

回答

4

res.on('data')事件发生多次的数据到达的块;你需要将它连接在一起才能得到整个响应。

http://nodejs.org/docs/v0.4.0/api/http.html#event_data_

+2

为了完成这个想法:您知道数据在触发'end'事件时完成。这是你应该调用任何需要完整数据的回调函数。 –

相关问题