У меня следующий код:
$.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() возвращает массивы запросов. Я не могу выполнить вызовы buildRequests, пока не закончатся вызовы loadProjects(), так как они полагаются на информацию, возвращаемую этими вызовами. Каждый вызов зависит от информации, возвращенной предыдущим вызовом, поэтому они должны выполняться в таком порядке. Мне нужно знать, когда все вызовы завершатся, чтобы я мог обработать возвращенные данные.
Есть ли более чистый способ решить эту задачу?