基本的にこれが私がやりたいことです
- 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呼び出し)を行うためのベストプラクティスは何ですか?
答えてくれてありがとう