gpt4 book ai didi

javascript - 帮助解决 jQuery 函数过早执行的问题

转载 作者:行者123 更新时间:2023-12-02 20:31:14 25 4
gpt4 key购买 nike

我有一个点击功能:

jQuery("#element").click(function(e){

var op = jQuery("#box").GetOp();
op.flag1 = false;
op.flag2 = true;
executeFunction();
jQuery("#box").reload();

});

我想要函数executeFunction();和 jQuery("#box").reload();仅在执行完前两行后才按串行顺序执行。

编辑:函数应该同步执行。

其他线程建议使用回调,但我不确定如何在我的情况下使用它。

有什么建议吗?

最佳答案

Javascript 本质上是同步的,因此,如果您的代码不按串行顺序执行,则可能 executeFunction() 正在调用某些异步行为,例如 AJAX 请求或 setTimeout/setInterval事情。

在这种情况下,一个可能的解决方案是将函数传递给 executeFunction() 并在异步行为完成时调用它:

jQuery('#element').click(function(e){
var op = jQuery('#box').GetOp();
op.flag1 = false;
op.flag2 = true;
executeFunction(function(){
jQuery('#box').reload();
});
});

并更改 executeFunction(fn) 以在异步行为成功时调用该函数。

关于javascript - 帮助解决 jQuery 函数过早执行的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4084801/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com