У меня есть функция authenticate (), которая использует $ post () для получения ключа сеанса с моего сервера. Я считаю, что $ post - это асинхронный вызов. Всякий раз, когда я выполняю какие-либо действия в своем скрипте, я хочу убедиться, что у меня есть sessionKey, а если у меня нет sessionKey, я хочу authenticate (). Моя проблема в том, как мне запустить executeTask () после того, как я вызвал authenicate ()?
function foo() {
if (sessionKey) {
performTask();
} else {
authenciate();
performTask();
}
}
function authenticate() {
$.post(url, function(data) {
sessionKey = data.sessionKey;
});
}
РЕДАКТИРОВАТЬ: Я также не хочу помещать в функцию обратного вызова authenticate () executeTask (), так как authenticate () будет вызываться из нескольких различных функций.