0
私はFacebookのグループIDの配列を同期順にチェックし、失敗した場合は次のものにスキップします。彼らがすべて実行を終えると、すべての結果をサーバーに送信したいと思います。
次のコードは、私が(もちろん、それは動作しません)達成するために何をしたいの要点を説明しています
var groups = [1111,2222,3333];
var feed_collection = [];
// Unfortunately this for loop does not wait for the FB api calls to finish before looping to next
for(var x = 0; x < groups.length; x++){
FB.api("/"+groups[x]+"/feed", function(response, err){
feed_collection += response;
});
}
// Send the feed_collection to server
feed_collection.sendToServer();
私は待つためにループのための私を取得できますか?私は$q.all()
を使用することができますが、私は約束を生成してpromise_array
に保存する方法に固執しています。このコードはクライアントサイドにあり、私はAngularJS 1を使用していますが、私はどのアプローチにもオープンしています。 Mucho gracias!
これをforループでどのように実行するのですか? forループで 'getGroupFeed'関数をラップするのと同じくらい簡単ですか? –
これは同期していません。 – Avinash
@ KangzeHuang、あなたはforループを使う必要はありません。このアプローチでは、promise_arrayを求めているものが得られます。これはforループより読みやすく、エラーの発生が少ないものです。 – Avinash