Индикатор выполнения не отображается сразу при звонке ajax - PullRequest
0 голосов
/ 08 апреля 2020

Мои требования:

  1. Нажмите кнопку "Отправить" и нажмите Ajax вызов
  2. Показать индикатор хода выполнения
  3. Как только Ajax вызов завершен Скрыть индикатор выполнения
  4. Показать Ext js .Message.alert (Ajax результат) с Ajax результатом

Проблема is Когда я нажимаю кнопку подтверждения, выполняется приведенный ниже код, но не отображает индикатор выполнения немедленно, а также индикатор выполнения скрывается одновременно с Ext js Окно оповещения о сообщении

function submit() {

  jQuery("#myProgressBar").show();
  Ext.Message.Alert(doAjaxCall());
}



function doAjaxCall() {
  var ajaxResult = null;
  jQuery.ajax({
    url: someUrl,
    data: someData,

    success: function(result) {
      task.delay(1000);

      ajaxResult = result;
    }


  });
  return ajaxResult;
}

Если я использую приведенный ниже фрагмент кода, то только он отображает индикатор выполнения, в противном случае не отображается индикатор выполнения

var task= new Ext.util.DelayedTask(function() {
  jQuery("#myProgressBar").hide();
});

и task.delay(1000); в Ajax часть успешного вызова

...