如何知道FB API调用已完成?

时间:2013-01-30 10:26:02

标签: facebook api

我现在有点问题。场景是,我采用了我使用FQL管理员的网页。获取页面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调用几乎一起发送,并且不要等待之前的调用。

由于

1 个答案:

答案 0 :(得分: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 
      }
});