【发布时间】:2015-01-27 15:49:53
【问题描述】:
我有一个函数使用两个 ajax 调用来获取正确的信息:
var getUsers = function() {
return $.getJSON("http://codepen.io/chriscoyier/pen/EAIJj.js", function(foo) {
return $.getJSON("http://codepen.io/chriscoyier/pen/EAIJj.js", function(bar) {
return foo['age'] = bar.type;
});
});
}
还有一个外部函数,它调用当前函数并且仅在调用完成后继续。
getUsers().then(function(result) {
// ...
});
现在奇怪的是,如果我显示结果,“年龄”将显示在控制台中,但如果我尝试使用 result['age'] 访问它,它将返回 undefined。
是否有处理多个延迟调用的正确方法?
代码
【问题讨论】:
-
您在设置之前调用
result['age'],当第一次请求成功时。 console.debug() 通过引用工作。您可以使用例如console.debug(JSON.stringify(result));查看它
标签: javascript jquery ajax