我有以下代码:
$.when(loadProjects())
.then(function() {
$.when.apply($, buildRequests(projects))
.then(function(data) {
$.when.apply($, vcsRequests(buildTypes))
.then(function(data) {
$.when.apply($, vcsDetailRequests(vcsRoots))
.then(function(data) {
alert('done');
});
});
});
});
当使用when.apply()时,传递给它的每个函数都会返回请求数组。由于这些调用依赖于从loadProjects()返回的信息,所以我无法在loadProjects()调用完成之前执行buildRequests调用。每个调用依赖于前一个调用返回的信息,因此必须按照此顺序进行。我需要知道所有调用何时完成,以便我可以处理返回的数据。
有更清晰的方法来处理这个问题吗?