javascript - 将其他地方定义的异步函数包装在回调中

标签 javascript jquery ajax callback

所以我现在正在处理一些代码。有一个 #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/

相关文章:

javascript - 如何从ajax成功函数返回数据?

javascript - 何时使用 KeyboardEvent 与 addEventListener 进行按键

c# - Selenium 异常 : "return not in a function"

php - 如何使用来自 Ajax 变量的 PHP PDO 处理许多 WHERE 子句

javascript - 我们可以在同一个 anchor 标记上使用 2 个不同的 url 来禁用和启用 javascript 吗?

jquery - 仅当有要加载的内容时才加载更多按钮

javascript - 无法从 jQuery AJAX API 调用获取 JSON 数据

javascript - 使用javascript从下拉列表中禁用多个选项

javascript - Javascript 中的总和格式金额返回 NaN

JQUERY 跨 div 拖动和克隆