定时函数setTimeOut()和setInterVal()的区别

区别:

setTimeOut(表达式,时间)=》是指延迟指定时间后才调用函数,调用次数仅一次,但可以根据条件反复调用setTimeOut实现循环。

setInterVal(表达式,时间)=》是指每隔指定的时间就执行表达式,次数不为一,好比设置时间为4秒,每隔4秒就执行眨眼这个操作,循环操作下去。

业务场景的区别:

setTimeOut用于延迟执行某方法或功能。

setInterVal一般用于刷新表单,对于一些表单的假实时指定时间刷新同步。

注意点:

尽量不要用setInterVal()

缘由:

1、setInterVal()无视代码错误

setInterVal有个讨厌的习惯,即对自己调用的代码是否报错这件事漠不关心。换句话说,如果setInterVal执行的代码由于某种缘由出了错,它还会持续不断地调用该代码。

2、setInterVal无视网络延迟

假设你每隔一段时间就请求一次服务器,看看有没有新数据。而由于某些缘由(如服务器过载、临时断网、流量剧增、用户带宽受限等),你的请求要花的时间远比你想象的要长。但setInterVal不在乎。它依旧会按定时持续不断地触发请求,最终你的客户端网络队列会塞满ajax调用。

3、setInterVal不保证执行

与setTimeOut不同,你并不能保证到了时间间隔,代码就准能执行。如果你调用的函数需要花很长时间才能完成,那那某些调用会被直接忽略。

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
none
暂无评论...