Как вернуть ответ из асинхронного вызова?


у меня есть функция foo что делает запрос Ajax. Как я могу вернуть ответ от foo?

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

function foo() {
    var result;

    $.ajax({
        url: '...',
        success: function(response) {
            result = response;
            // return response; // <- I tried that one as well
        }
    });

    return result;
}

var result = foo(); // It always ends up being `undefined`.
30 4470

30 ответов: