如何缓存异步结果以便重用

时间:2018-01-02 23:28:53

标签: javascript jquery

我有一个函数handle_response,它使用if语句定向了2个结果。这是代码:

function handle_response(response) {
    if (response["unlocked"]) {
        activate_slider();
        // ideally reset_slider() comes here
    } else {
        error(response["message"]);
        reset_slider();
    }
}

function activate_slider() {
    setLocked(false);
    setTimeout(function () {
        setLocked(true);
        reset_slider();
    }, 3000)
}

我想将reset_slider()activate_slider()移到if语句的正文中,以便它与reset_slider()中的else类似1}}更好读的语句。但是我不确定如何这样做,因为两个函数依赖于setTimeout(即,如果只有reset_slider(),那么我只是放入if正文{{1} }。

欢迎更好的抽象建议!

1 个答案:

答案 0 :(得分:0)

您正在执行setTimeOut方法,因此,将来会执行异步过程。

因此,提取;调用的唯一方法是通过回调函数:

reset_slider