为什么我的同步ajax请求是异步运行的?

时间:2016-11-16 16:14:14

标签: javascript ajax facebook-graph-api asynchronous pagination

我一直在尝试重新编写我的代码,并一直在同一个地方。当我将控制台日志添加到此请求时,似乎虽然我已设置async: false,但代码仍然是异步运行的。

    var likePageId = facebookData.id;
    var postArray = [];
    var postIdArray = [];
    var testArray = [];
    var check = 0;

    if (facebookData.hasOwnProperty('posts')) {
      facebookData.posts.data.forEach(function(post) { 
        if ('likes' in post) { 
          if ('paging' in post.likes) { 

            post.likes.data.forEach(function(like) { /
              testArray.push(like.id + ' ' + post.id); 
            });
            nextPage = post.likes.paging.next; 
            var i = 0;
            do {
              $.ajax({ 
                async: false,
                type: 'GET',
                url: nextPage,
                success: function(newPageData) { 
                  newPageData.data.forEach(function(like) { 
                    testArray.push(like.id + ' ' + post.id); 
                  });
                  if ('paging' in newPageData.data) { 
                    if ('next' in newPageData.data.paging) {
                      nextPage = newPageData.paging.next; 
                      console.log('NEXT PAGE REASSIGNED')
                    }
                  }
                  currentDataLength = newPageData.data.length;
                  console.log('CURRENT DATA LENGTH! ' + currentDataLength)
                  console.log(i);
                }
              });
              i += 1;
            } while (currentDataLength != 0 && i < 5);
          }
          console.log(post.likes)
        }
      })
      postArray.push(facebookData.posts.data);`

我目前的目标是从指定的facebook页面帖子中获取数据。一旦我找到了如何对特定帖子的所有喜欢进行分页,我想在所有帖子中分页(自指定日期以来)并通过他们的喜欢分页,将User_id,post_id,page_id发送到CSV文件。

0 个答案:

没有答案