2012-04-09 8 views
0

は基本的に、これは私が今再帰FacebookのAPIコール

- 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 

をやりたいので、(私はPHP SDKを試してみたので、私はこれをやっている方法は、JS 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 

しかし、私はしばらく後にNEWARRAYを呼び出すためにクロムコンソールを使用している場合、NEWARRAYはゆっくりFBデータが取り込まれます。

だから私の質問は次のとおりです。

  1. すべてFB.apiはFBの範囲外で何かを行う前に完全であることを呼び出すために私は待つことはできますか?
  2. そのようなことを行うベストプラクティス(再帰的なFB API呼び出し)は何ですか?

あなたはBatch API上に読んでください答え

答えて

1

いただきありがとうございます。 Facebookのサーバーへの1回のラウンドトリップで複数のリクエストを行うことができます。物事をかなりスピードアップしなければならない。