-1

私は今少し問題を抱えています。シナリオは、私がFQLを使用する管理者であるページIDを取得することです。ページIDを取得したら、それらのIDをループして、次の関数を呼び出します。

FB.api('/'+id+'/tabs?fields=image_url,name,application', function(response) {
// Other stuff here
});

そして、これから私はすべてのページのタブIDと他の詳細を取得します。

問題は、タブを取得するためのすべてのページIDのリクエストが終了したかどうかがわからないことです。次のように手動で設定する必要があります。

setTimeout(loadAllNow, 5000);

次の関数を呼び出す前に待機した時間内にすべてのページの要求が行われたと仮定します。

すべてのAPI呼び出しでループが終了し、目的の結果が返されたかどうかを知る方法はありますか?forループでAPIを呼び出している間、すべてのAPI呼び出しをほぼ一緒に送信し、前の呼び出しが終了するのを待たないためです。

ありがとう

4

1 に答える 1

0

このために、次のように手動で確認できます-

pagesCount = NO_OF_PAGES;

FB.api('/'+id+'/tabs?fields=image_url,name,application', function(response) {

      count++;                // initialize this count to 0 before starting the loop
      if(count == pagesCount) // this is the final response
      {
          // Other stuff here 
      }
});
于 2013-01-30T10:40:25.363 に答える