基本上这就是我想做的
- Get all my likes (page likes)
- Get all my friends
- for each of my friends, get their likes
- for each of their likes, do something
现在,我这样做的方式是使用 JS SDK,因为我已经尝试过 PHP SDK 并且它真的很慢(如此慢以至于最大执行时间的 PHP 错误开始出现),PHP SDK 总是比 JS 慢吗?我的脚本是这样的:
var newArray = [];
FB.api('me/likes', function(response){
FB.api('me/friends', function(friends){
$(friends).each(function(){
FB.api(this.uid+'/likes', function(fr_likes){
$(fr_likes).each(function(){
//save this friend likes to newArray
newArray.push(this);
});
});
});
});
});
//call newArray outside FB scope doesn't work at first
console.log(newArray); //returns [] / empty
但是如果我在一段时间后使用 chrome 控制台调用 newArray,newArray 会慢慢填充 FB 数据。
所以我的问题是:
- 在做 FB 范围之外的事情之前,我可以等待所有 FB.api 调用完成吗?
- 做这样的事情(递归 FB api 调用)的最佳实践是什么?
感谢你的回答