0

我正在向 Instagram 发送请求以获取关注者 ID,一切正常,直到我想在$.getJSON方法之外使用数组。以下是代码的相关部分:

var allFollowings = [];
 $.getJSON("https://api.instagram.com/v1/users/self/follows?access_token="+$.urlParam('access_token')+"&count="+followingsCount+"&callback=?", function(json) {


   for(var i = 0; i < json.data.length; i++) {
        console.log(json.data[i].id); // this is not empty
        allFollowings[i] = json.data[i].id;
   }
   console.log(allFollowings); // this is also not empty
});
console.log(allFollowings); // this one is empty!!!

显然我做错了什么,这是我第一次遇到这个问题。但是我做错了什么?谢谢。

4

2 回答 2

1

它实际上不会丢失数据。发生的情况是您的$.getJSON回调函数在您上次调用后被异步console.log(allFollowings);调用。

于 2013-10-19T20:04:11.737 回答
0

在调用回调之前执行console.log脚本末尾的。这是 javascript 的异步特性。getJSON

于 2013-10-19T20:04:29.950 回答