Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 等待延迟/异步功能完成_Javascript_Jquery_Asynchronous_Deferred - Fatal编程技术网

Javascript 等待延迟/异步功能完成

Javascript 等待延迟/异步功能完成,javascript,jquery,asynchronous,deferred,Javascript,Jquery,Asynchronous,Deferred,我正在构建一个基于jQuery的库,它在一个元素上触发了许多自定义事件(beforeShow、show、afterShow、beforeshide、hide、afterHide) 用户将能够定义自己的函数,这些函数在启动时运行。然而,由于它们可能涉及动画或异步请求,我不能简单地一个接一个地触发所有的*show事件(例如)。目前,我要求任何自定义函数都必须触发下一个事件 因此,如果用户定义自己的函数在触发beforeShow时运行,则该函数必须触发show事件,然后该事件必须触发afterShow

我正在构建一个基于jQuery的库,它在一个元素上触发了许多自定义事件(beforeShow、show、afterShow、beforeshide、hide、afterHide)

用户将能够定义自己的函数,这些函数在启动时运行。然而,由于它们可能涉及动画或异步请求,我不能简单地一个接一个地触发所有的*show事件(例如)。目前,我要求任何自定义函数都必须触发下一个事件

因此,如果用户定义自己的函数在触发
beforeShow
时运行,则该函数必须触发
show
事件,然后该事件必须触发
afterShow
事件


这并不理想,我想知道是否有任何方法可以让我等待函数完成,而用户不必手动触发下一个事件。我在看<代码>$。延迟,但这需要返回延迟对象,为了强加给我的用户,这一点也不好。

只是澄清一下,动画完成后您已经在使用回调函数了?我知道如何做到这一点的唯一方法是使用一个自调用函数,根据刚刚完成的动画播放下一个动画。我的库没有提供回调函数。不过,用户的自定义函数可能会提供对自己动画的回调。函数本身不调用下一个动画。它触发元素上的事件。该元素可能有另一个绑定到执行下一个动画的新激发事件的函数。