-1

我现在有点问题。场景是,我使用我是使用 FQL 的管理员的 pageid。获取页面 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 回答