我有两个在其中有ajax调用的方法,它们被命名为setEmployees和getAllRecordsForEdit。我有一个代码应该在setEmployees完成后执行;在完成setEmployees和getAllRecordsForEdit之后应该执行的另一个代码;以及getAllRecordsForEdit失败时应执行的另一个代码。现在我有了这个:
$.when(setEmployees(selectedEmployeeId), getAllRecordsForEdit(date, selectedEmployeeId))
.done(function (a, b) {
console.log('setEmployees is done')
console.log('both are done');
}).fail(function(error) { });
一旦两者都完成,就会调用它。在这种情况下,setEmployees可以在getAllRecordsForEdit之前完成,但是一旦两者都完成就会调用,所以我该如何优化呢?我应该在何处完成其中一个方法或第二个方法的失败时添加代码?
答案 0 :(得分:0)
您可以这样做:
$.when(setEmployees(selectedEmployeeId))
.then(function () {
//do some stuff after setEmployees
return getAllRecordsForEdit(date, selectedEmployeeId);
})
.then(function (res) {
//do some stuff after both
})
.fail(function (err) {
//handle error
});