Вам, похоже, нужно сделать синхронный вызов ajax. Вы можете сделать это так:
$.ajax({
...
async: false,
success: ...
});
return a;
Таким образом, выполнение JS не остановится до возвращения вызова и функция success
работает.
Конечно, есть проблема с вызовами синхронизации. Лучше всего реорганизовать свой код, чтобы вы делали то, что вам нужно сделать с переменной a
в обратном вызове success
.
Основываясь на этой идее, предположим, что ваша f3
функция была что-то вроде этого:
var f3 = function() {
a = f1(arg);
alert(a); //i.e. "do something" with "a"
}
Вы могли бы сделать это вместо:
var f3 = function() {
f1(arg);
}
var f3_callback = function(a) {
alert(a); //i.e. "do something" with "a"
}
Таким образом, ваша функция успеха будет выглядеть следующим образом:
success: function(data) {
a = f2(data);
f3_callback(a);
}
Надеюсь, это ясно!
, куда вы хотите отправить. это важный вопрос – Baz1nga
Это ** A ** JAX ...вам нужно сделать свой код, используя функции обратного вызова. –