Используйте функцию jQuery $ .when (), чтобы запустить что-то, когда закончились все вызовы ajax:
var async1 = $.ajax({//ajax call 1
url:page1.php,
success: function(data1){
//do something with data1
}
});
....
var async2 = $.ajax({//ajax call 2
url:page2.php,
success: function(data2){
//do something with data2
}
});
$.when(async2, async1).done(function(result2, result1) {
... do this when both are successful ...
});
Добавлено в ответ на вопросы:
Если у вас есть куча вызовов ajax, вы можете использовать «apply» следующим образом:
var results = [];
results.push(async1);
results.push(async2);
... for all the results ...
$.when.apply(this, results).done(function() {
... use 'arguments' array to get results ...
});
Оказывается, если вы сделаете сборку параметризованной, любые строковые параметры, которые вы добавите, станут переменными среды. При таком подходе можно установить любую переменную среды для сборки, в том числе JAVA_HOME, который подбирается Ant.
Итак, лучшим решением для меня было:
Не очевидно, что параметры строки сборки становятся переменными среды, но как только вы знаете, что они это делают, легко установить JDK сюда.
Разработчики в списке рассылки Hudson рекомендовали другой подход с использованием основных конфигураций JDK и переопределений в конфигурациях узлов ...
У нас есть и Java 5, и Java 6, настроенные для использования в нашем экземпляре Hudson.
В разделе Manage Hudson -> Система конфигурации вы можете добавить несколько JDK и указать путь для JAVA_HOME. В конфигурации для каждого задания вы затем выбрали JDK, на котором вы хотите запустить это задание.
Способ установки пользовательских переменных среды для этого проекта, который позволил бы мне установить JAVA_HOME в расположение JDK6. Это заставило бы Ant запускаться и запускаться на Java6 по желанию.
При настройке шагов сборки для Ant в «Invoke Ant», если вы нажмете «Advanced», вы можете установить пользовательские параметры Java. Справка на экране гласит:
Если для вашей сборки требуется пользовательский ANT_OPTS, укажите его здесь. Как правило, это может использоваться для указания пределов памяти Java, которые необходимо использовать, например -Xmx512m. Обратите внимание, что другие опции Ant (такие как -lib) должны идти в поле «Ant target».
Однако я чувствую, что JDK не будет работать под ним.
вы можете использовать это так.
в окне пакетных команд сначала вы можете установить имя переменной JAVA_HOME, назначить это имя пользовательской переменной в переменную PATH. тогда вы можете вызвать сценарий ant для выбора конкретного файла.
Пример:
установить JAVA_HOME = C: /java/jdk1.6.1
PATH =% JAVA_HOME% / bin;% PATH%
сборка муравья .xml
Взгляните на плагин Setenv. Там вы можете установить такие переменные, как JAVA_HOME = C: /java/jdk1.6.1 ПУТЬ =% JAVA_HOME% / bin;% ПУТЬ%