Спин-эффект не работает во время вызова ajax

У меня есть следующий код .. Но эффект вращения не происходит, пока не завершится вызов ajax (что в значительной степени бесполезно)

$.ajax({
      type:"GET",
      async:false,
      url: "../../xxxxx/AvailabilityServlet",
      data: {action: "xxx", sku: sku},
      beforeSend: function( xhr ) {
         $("#submiticon").removeClass("fa-search");
         $("#submiticon").addClass("fa-spinner fa-spin");

    }
})

.done(function( data ) {
      result = data
   })

  .fail(function( data ) {
      result=null
  })

  .always(function( data ) {
      $("#submiticon").addClass("fa-search");
      $("#submiticon").removeClass("fa-spinner");
      $("#submiticon").removeClass("fa-spin");
  })

Но если я добавляю предупреждение, оно выдает предупреждение, и затем начинает появляться эффект вращения.

$.ajax({
          type:"GET",
          async:false,
          url: "../../xxxxx/AvailabilityServlet",
          data: {action: "xxx", sku: sku},
          beforeSend: function( xhr ) {
             $("#submiticon").removeClass("fa-search");
             $("#submiticon").addClass("fa-spinner fa-spin");
             alert("stop") ;
        }

JSP:

<div class="col-md-4">
  <form role="form" class="ng-pristine ng-valid">
    <div class="input-group col-md-6" >
      <input type="text" class="form-control" id="skuInput" placeholder="Sku" autocomplete="off" >
       <span id="submit" class="input-group-addon"><span id="submiticon" class="fa fa-search"></span></span>
     </div>
  </form>
</div>

$("#submit").click(function(){
 searchSku()
});

Ответы на вопрос(1)

Ваш ответ на вопрос