JQuery append () ведет себя асинхронно?

Я видел несколько сообщений ( добавить предположительно немедленно ) с противоречивыми принятыми ответами по этому поводу. Мы используем JQuery 1.4 ( http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js ) и append () кажется быть асинхронным, например:

Отредактировано для отображения кода в контексте обратного вызова AJAX

 ...
 var message = $.ajax({
   type: "GET",
   url: "/getVolumes/" +  _Id,
   async: false 
 }).responseText;
 if (parseInt(message) != 0){
   var $results = $(message);
   $MAIN_DIV.append($results);
   retrieveTargets();
 }
...    
function retrieveTargets(){
  var $targets = $(".resultTargets");
}

Выполняет и создает страницу, как ожидалось, но целевой запрос ничего не дает во время выполнения. Выполнение того же кода в консоли JS возвращает элементы, как и ожидалось.

Если это ожидаемое поведение в JQuery, как лучше дождаться завершения добавления?

20
задан Community 23 May 2017 в 12:01
поделиться