【发布时间】:2014-03-08 18:56:48
【问题描述】:
我想知道如何使用 jQuery 的 promises/deferred 进行依赖 AJAX 调用。现在我有这样的东西:
$.when($.ajax('https://somedomain.com/getuserinfo/results.jsonp', {
dataType : 'jsonp',
jsonp : true,
jsonpCallback : 'userCallback'
}))
.then(function (data) {
return $.when($.getJSON('http://www.otherdomain.com/user/' + data.userId), $.getJSON('http://www.anotherdomain/user').then(function (json1, json2) {
return {
json1 : json1,
json2 : json2
};
});
});
它按预期对我有用,但我不知道这是否是正确的方法。您对如何改进有什么建议吗?
【问题讨论】:
-
您应该将其移至代码审查。 codereview.stackexchange.com
-
好吧,我的问题是这样的做法是否正确?
-
您还没有解释您想要实现的确切原因,因此我们无法真正为您想要做的任何事情提供更好的方法。您可以使用
$.ajax(...).then(...)而不是$.when($.ajax(...)).then(...),但这就是现在要说的全部内容。
标签: javascript jquery ajax promise jquery-deferred