UPDATE3 и FINAL: решено благодаря Эвану и Медеру!
UPDATE2: Я должен уточнить, мне нужна функция updateFilters (a,b)
для вызова, а не для создания.Функция существует в другом месте.Извините за путаницу.
Код ниже не работает должным образом - udpateFilters(a,b)
вызывается до окончания цикла for
.Изменение async на false
решает проблему, но это кажется неправильным.Более того, updateFilters () вызывается независимо от успеха AJAX.
Что я сделал не так?
save (updateFilters(a,b));
function save (cb) {
$.ajax ({
url:'save.php',
data:somedata,
async:true,
success: function (response) {
for (var i in response) {}
if (typeof cb!='undefined') cb;
});
}
function updateFilters (a,b) {
//do some stuff here
}
ОТВЕТ: Поэтому, как предложил медик, я изменил параметр.Это 2/3 ответа!
save (
(function (a,b) {
return function () {
return updateFilters(a,b);
}
})(a,b)
);
Теперь измените следующее:
if (typeof cb!='undefined') cb (); //brackets are important!
И все готово!