所以我现在正在处理一些代码。有一个 #saveButton
,它通过 jQuery 附加了一个单击函数:
$("#saveButton").click(function(){
...
if(someCondition){
$("#addRowsButton").click();
}
});
绑定(bind)到#addRowsButton
的函数是在Java Spring 标记中定义的,而不是定义绑定(bind)到#saveButton
的函数。该函数发出 Ajax post 请求。我需要用回调包装此发布请求,以便在完成后我可以发出第二个发布请求。我可以轻松地将 $("#addRowsButton").click();
函数的函数体复制并粘贴到我的 #saveButton
函数中,并在ajax post 函数的回调。无论如何,是否可以用回调包装 click() 函数,在异步调用完成之前不会执行回调?本质上似乎反对异步,但可能有办法吗?
最佳答案
您需要做的是让第一篇文章的成功回调以函数作为参数。所以你可以这样做:
function callback2(){ stuff you need done on the second round trip to the server }
$.ajax(ajax stuff).success(function(callback2){
//do things you need done on the first trip
callback2()
}
关于javascript - 将其他地方定义的异步函数包装在回调中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25042892/