栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

第一次执行setInterval函数而不会延迟

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

第一次执行setInterval函数而不会延迟

第一次直接直接调用函数是最简单的:

foo();setInterval(foo, delay);

但是,有充分的理由要避免

setInterval
-尤其是在某些情况下,整个
setInterval
事件负荷可以彼此紧接着立即到达而没有任何延迟。另一个原因是,如果要停止循环,则必须显式调用
clearInterval
,这意味着必须记住原始
setInterval
调用返回的句柄。

因此,另一种方法是

foo
使用以下方法触发自己的后续调用
setTimeout

function foo() {   // do stuff   // ...   // and schedule a repeat   setTimeout(foo, delay);}// start the cyclefoo();

这样可以确保两次调用之间 至少 有间隔

delay
。如果需要的话,这也使取消循环变得更加容易-
setTimeout
达到循环终止条件时,您不会调用。

更好的是,您可以将它们全部包装在 立即调用的函数表达式中 ,该 表达式 创建函数,然后如上再次调用自身,并自动启动循环:

(function foo() {    ...    setTimeout(foo, delay);})();

定义功能并一次性开始循环。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/398750.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号