Как вернуть результат выполнения ajax в функцию и в дальнейшем использовать ее?

Добрый день, я слаб в js jquery, и не могу разобраться как реализовать следующее - есть функция calc, результат ее выполнения зависит от результата выполнения ajax запроса getK
function getK() {
        $.ajax({
            url: '/index.php?route=create_order/OrderNew/getK',
            dataType: 'json',
            type: 'post',
            data: $('[name="time"').serialize(), //  возвращаемая k зависит от времени
            success: function (json) {
                k=json; // результат k=1||k=2
            }
        });
return k;
    }

function calc(){
k = getK();
..
..
return k*100;
}


Я сам понимаю что так не будет работать, так как js - асихронный - не знаю как победить задачу
  • Вопрос задан
  • 588 просмотров
Решения вопроса 1
KickeRocK
@KickeRocK
FrontFinish
function getK() {
        $.ajax({
            url: '/index.php?route=create_order/OrderNew/getK',
            dataType: 'json',
            type: 'post',
            data: $('[name="time"').serialize(), //  возвращаемая k зависит от времени
            success: function (resp) {
              calc(resp);

            }
        });
    }

function calc(someValue){

return someValue*100;
}
getK();

Или также как в первом случае только играйтесь с async/await
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы