JQuery在keyup之后启动2个回调

我的代码有问题。特别是我希望在keyup事件之后顺序调用2回调。
$('myDiv').keyup(function(){ 

 function1
 function2

});
是否有可能在下一个函数开始之前等待加载第一个函数(在
function1
中有SQL请求,追加行等)? 坦克很多     
已邀请:
有两种解决方案,具体取决于功能的作用。
function1
不包含异步调用/代码: 只需将这些陈述放在彼此之后:
function1();
function2();
function1
包含异步调用/代码(我假设这是你的情况) 然后你必须将
function2
作为回调传递给
function1
并在
function1
处理响应时调用它:
function1(function2);
其中
function1
是喜欢:
function function1(cb) {
    $.ajax({ // asynchronous call
        //...
        success: function(data) {
            // response handled here
            cb(); // call the callback
        }
    });
}
    
将第二个函数放入第一个函数的ajax方法回调中,例如:
function first(cb) {
    // request something. Passed in function will execute
    // once the request has completed.
    $("#foo").load('/foo', cb);
}

function second() {
    // do something
}

$('myDiv').keyup(function(){ 
    first(second);
});
    
Javascript是一个单线程,它只会在
function1
完成后评估
function2
。但是如果你在ѭ1中进行AJAX,那就不是这种情况(AsynchronousJAX),你可以通过在
function1
中调用AJAX调用的响应处理程序来调用
function2
来解决这个问题。     

要回复问题请先登录注册