1. 程式人生 > >[JS]定時執行的處理類PeriodicalExecuter 介紹(可以替代setInterval)

[JS]定時執行的處理類PeriodicalExecuter 介紹(可以替代setInterval)

1、定時處理函式PeriodicalExecuter 介紹:

該函式的主要功能是可以週期性的執行某個方法,但是在它內部維持了一個狀態,可以防止由於某些原因一次呼叫沒執行,然後下一次呼叫又來了,這樣會造成連續執行兩次方法。該函式的作用跟setInterval()類似。

new PeriodicalExecuter(function(pe) { 
if (!confirm('Want me to annoy you again later?')) 
pe.stop(); }, 
5); 

2、PeriodicalExecuter 與setInterval()的區別

1)、setInterval()是每隔多少毫秒執行一次,不管上一次執行是否結束,都會啟動本次執行,有重複執行的風險。

2)、PeriodicalExecuter 是每隔多少秒執行一次,但是上次一沒有執行完的話、不啟動本次執行。

因此PeriodicalExecuter 是setInterval()的替代品、PeriodicalExecuter 比setInterval()更安全,更合理。