jQuery中的setInterval发生得太快了
|
我使用setInterval有时有时会“太快”。这里看起来如何:
setInterval(function() {
//here comes ajax functions and so on.
}, 1000);
有时setInterval的发生速度比所有这些ajax函数都要快,它给了我两条消息,而不是一条。有什么解决办法?
没有找到相关结果
已邀请:
6 个回复
瓜唱鬼
在某些方面非常有用,但对于将其他异步内容与之混合的任何内容都不适用。而是使用\“重新安排
\”惯用语:
...因为毕竟您的
通话可能需要一秒钟以上才能完成。 如果这不是您遇到的问题,我想您的代码看起来像这样:
...您想知道为什么在“在这里做一些事情”代码之前运行“在这里做其他事情”代码。如果是这样,原因是默认情况下,ajax调用是异步的。您打到
的电话开始通话,仅此而已;那么所有其他代码都会在成功(或错误)回调发生之前运行。 当然,解决方法是在依赖成功回调的顶层不执行任何其他操作:
久坡
车料
函数的顶部,如果设置了该标志,则立即返回。
babsoft
,而应每次设置一个新鲜的
。例如:
当然,如果其中的功能是异步的(通常是AJAX请求),则
调用仍然会过早。您需要编写一些在请求完成后调用
的代码。
可以帮助您解决此问题,因为
和其他jQuery AJAX方法实现了
:
森含械
悸翠疮武昏
对我也有帮助的是将setInterval分配给变量并console.log它,以便您可以在整个代码中看到该值。对我来说,当它加快速度时,它的数值在增加,而不是重置,直到我将其包装在其中。