将本地对象推送到全局数组

时间:2015-03-28 02:28:10

标签: javascript arrays json

我从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函数的异步性质,或者我有范围问题(或两者都有)。

0 个答案:

没有答案