异步队列-不等待

时间:2019-07-07 05:02:14

标签: javascript arrays asynchronous

我有一个异步功能,可从Facebook API获取访问量。

我已经尝试使其等待服务器响应,然后再推送数据。

但是,看起来好像没有在等待。我是否正确使用await函数?还是我应该使用其他功能?

async function(package) {
  var accessToken = "XXXXXXXXX"
  for (var v = 0; v < package.length; v++) {
    var postid = package[v].id
    var uri = "https://graph.facebook.com/v3.3/" + postid + "/insights/post_impressions_unique?access_token=" + accessToken
    const response = await rp(uri);
    var dataParsed = JSON.parse(response);
    var reach = JSON.parse(dataParsed.data[0].values[0].value);
    console.log(reach)
    postsToProcess.push(reach)
  }
  console.log(postsToProcess)
}

console.log(postsToProcess)返回null

1 个答案:

答案 0 :(得分:0)

我看到一条评论,但刷新页面后却丢失了。 基本上,它说如果运行了for循环,则此代码-> postsToProcess.push(reach)将在此代码-> console.log(postsToProcess打印null之前引发错误。

检查是否将带有数据的有效数组(包)传递给该函数。那就是我能想到的。希望对您有帮助。