Я закодировал это в jQuery. Однако обратные вызовы не вызываются в том порядке, в котором я хочу (обратный вызов в обработанной ветви вызывается до тех, что указаны в ветке when). Если я определяю internalOrderRequest
и rejectionReasonRequest
как простые переменные (instea od functions), все работает нормально. Не могли бы кто-нибудь посоветовать?
var self = this;
debugger;
var internalOrderRequest = function() {
$
.ajax({
type : "GET",
url : internalOrderServiceURL,
contentType : "application/json; charset=utf-8",
dataType : "json",
success : self.retrieveInternalOrderSuccess,
error : self.retrieveInternalOrderError
})
};
var rejectionReasonRequest = function() {
$
.ajax({
type : "GET",
url : rejectionReasonServiceURL,
contentType : "application/json; charset=utf-8",
dataType : "json",
success : self.retrieveRejectionReasonSuccess,
error : self.retrieveRejectionReasonError
})
}
$
.when(internalOrderRequest(),
rejectionReasonRequest())
.done(
function(result1, result2) {
$
.ajax({
type : "GET",
url : salesOrderInfoServiceURL,
contentType : "application/json; charset=utf-8",
dataType : "json",
success : function(
oResult) {
self
.retrieveServiceItemSuccess(oResult);
},
error : function(
oResult) {
self
.retrieveServiceItemError(oResult);
},
})
});