我正在向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!!!
显然我做错了,这是我第一次遇到这个问题。但是我做错了什么?感谢。
答案 0 :(得分:1)
它实际上并没有丢失其数据。会发生什么情况是您的$.getJSON
回调函数在上一次console.log(allFollowings);
调用后异步调用。
答案 1 :(得分:0)
脚本末尾的console.log
在 getJSON
调用回调之前执行。这是javascript的异步特性。