我从reddit的API中获取JSON,并将JSON对象放入全局数组中。
var stories = [];
var request = new XMLHttpRequest();
request.open('GET', 'http://www.reddit.com/r/news/top.json?limit=5', true);
request.onload = function() {
var rawStories = JSON.parse(request.response);
for (var i in rawStories.data.children) {
var story = {};
story.title = rawStories.data.children[i].data.title;
stories.push(story);
}
};
alert(stories); //Here I am accessing stories in global scope.
以上全局alert(stories)
显示空的初始化stories
数组。在函数内移动警报会显示正确填充的对象数组。
如何拥有全局可访问的故事数组?我的误解是request.onload
函数的异步性质,或者我有范围问题(或两者都有)。