gpt4 book ai didi

javascript - 是否可以在 javascript/jquery 中停止执行?

转载 作者:数据小太阳 更新时间:2023-10-29 03:49:01 26 4
gpt4 key购买 nike

基本上我希望能够将任何命令包装在 $.holdTillFinished() 方法中,在指定的方法/jquery 动画执行完成之前不允许继续执行。

我怀疑这在 javascript 中可能很难甚至不可能,但我希望有人知道。

我不想听到有关如何将回调传递到动画中以使其在完成时运行,或其他类似内容的信息。

我真的很想知道这样的事情是否可能以及如何去做。

如果有人知道一个很好的队列插件能够对用户定义的方法和动画进行排队,那么这不会发生,那也很酷。我真正想要的是一种延迟执行的方法。(同时仍然允许动画运行)

最佳答案

I suspect that this may be difficult or even impossible in javascript

您的猜测是正确的。动画、用户输入循环和“async=true”XMLHttpRequests 等方法必须将控制权返回给浏览器才能继续,并且在函数调用的每个嵌套级别返回之前,浏览器无法取回控制权.这意味着您的所有代码,包括调用“holdTillFinished()”的函数都必须展开:因此“holdTillFinished()”是不可能的。

其他语言具有流控制功能,可让您有效地执行异步过程,就像调用者认为同步的过程一样,反之亦然。最著名的是 threadscontinuations . JavaScript 不具备这些功能,因此您能做的最好的事情就是超时和回调。

(将回调定义为内联函数以访问闭包中封闭函数的变量至少可以减轻一些痛苦;其他一些语言必须开始将封闭状态的每一点都包装在对象的属性中实现这一目标。)

关于javascript - 是否可以在 javascript/jquery 中停止执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/680021/

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