递归Facebook API调用

递归Facebook API调用,facebook,facebook-javascript-sdk,Facebook,Facebook Javascript Sdk,基本上这就是我想做的 - 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 现在,我这样做的方式是使用JSSDK,因为我尝试过PHPSDK,它非常慢(如此慢以至于出现了PHP最大执行时间错误),PHPSDK总是比JS慢吗?我的脚本是这样的: var newArray = []; F

基本上这就是我想做的

- 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
现在,我这样做的方式是使用JSSDK,因为我尝试过PHPSDK,它非常慢(如此慢以至于出现了PHP最大执行时间错误),PHPSDK总是比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调用完成
  • 这样做的最佳实践是什么(递归FBAPI调用)
  • 谢谢你的回答

    你应该仔细阅读网页上的内容。它允许你在一次往返Facebook服务器的过程中发出多个请求。应该会大大加快速度。

    你应该仔细阅读网站上的内容。它允许你在一次往返Facebook服务器的过程中发出多个请求。应该会大大加快速度