我正在使用facebook node sdk for node.js 从 facebook 用户那里获取信息,例如他们的提要和朋友,这工作正常。
但是我遇到了返回数据被分页的问题——我需要在递归模式下构建一些东西。让我解释:
FB.api('/me/feed?limit=5000', {
access_token: token
}, function(response) {
// response is an object that could have as response.paging.next attribute
});
限制在这里不起作用,因为它返回最大值 245 并返回指示下一页结果的分页对象。
因为下一次调用取决于上一次异步调用的结果,所以我尝试做这样的事情:
// first call before
var hasNext = response.paging.next ? true : false;
while (hasNext){
FB.api('/me/feed', {
access_token: token
}, function(response_paged) {
response.data.concat(response_paged.data);
// If do not have a next page to break the loop
if (!response_paged.paging.next) hasNext = false;
});
}
获得下一个令牌的方式目前并不重要
关键是我试图在递归模式下进行异步调用,但它不起作用,这样我就得到了一个无限循环。