У меня есть один ajax вызов в al oop, как показано ниже.
reloadSetupAndRecurringAvailable = function( objDiscountRow ) {
var intProductId = objDiscountRow.find('.product-id').val();
var strUrl = '/?module=contract_setup_products-new&action=get_setup_and_recurring_available';
$.ajax( {
url: strUrl,
data: { 'product_id': intProductId },
success: function( response ) {
fltSetupAvailable = parseFloat( response.data.fltSetupAvailable );
fltRecurringAvailable = parseFloat( response.data.fltRecurringAvailable );
objDiscountRow.find('.setup-available').text( fltSetupAvailable + '%' );
objDiscountRow.find('.recurring-available').text( fltRecurringAvailable + '%' );
}
} );
reloadDiscountProducts = function() {
$('.discount-row').each( function() {
reloadSetupAndRecurringAvailable( $(this) );
} );
}
reloadDiscountProducts();
Когда код выполняется, на вкладке сети последний вызов ajax показывает успешное выполнение и все предыдущие вызовы. показывать в canceled
статусе. ![ajax in loop](https://i.stack.imgur.com/FhNoC.png)
По моим данным, это связано с асинхронизацией. Запрос ajax может занять любое время. Как я могу исправить код, чтобы все запросы были в завершенном состоянии?