JavaScript setTimeout或setInterval?

JavaScript setTimeout或setInterval?,第1张

JavaScript setTimeout或setInterval?

他们本质上试图做同样的事情,但是这种

setInterval
方法比该
setTimeout
方法更加准确,因为要
setTimeout
等待1000ms,然后运行该函数,然后设置另一个超时。因此,等待时间实际上超过了1000毫秒(如果函数执行时间较长,则等待时间会更长)。

尽管有人可能会认为

setInterval
将执行完全相同每1000毫秒,这是需要注意的重要
setInterval
也将推迟,因为
Javascript
是不是多线程的语言,这意味着-如果有运行脚本的其他部分-区间将有等待完成。

在此Fiddle中,你可以清楚地看到超时将落在后面,而间隔几乎总是以近1个呼叫/秒的速度(脚本正在尝试执行)。如果将顶部的速度变量更改为类似20的小值(这意味着它将尝试每秒运行50次),则该间隔将永远不会达到平均每秒50次迭代。

延迟几乎总是可以忽略不计,但是如果你要编写非常精确的内容,则应该使用自调整计时器(本质上是基于超时的计时器,它会根据所创建的延迟不断进行自我调整)



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4946433.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-13
下一篇 2022-11-13

发表评论

登录后才能评论

评论列表(0条)

保存