This is especially usef " /> 中文av字幕一区,久久狠狠一本精品综合网,欧美一区二区三区白人

色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

Prototype PeriodicalExecuter對象 學(xué)習(xí)

This is a simple facility for periodical execution of a function. This essentially encapsulates the native clearInterval/setInterval mechanism found in native Window objects.

This is especially useful if you use one to interact with the user at given intervals (e.g. use a prompt or confirm call): this will avoid multiple message boxes all waiting to be actioned.


這個(gè)對象就是可以周期性的執(zhí)行某個(gè)方法,但是在它內(nèi)部維持了一個(gè)狀態(tài),可以防止由于某些原因一次調(diào)用沒執(zhí)行,然后下一次調(diào)用又來了,這樣會造成連續(xù)執(zhí)行兩次方法。上面的第二斷英文就是這個(gè)意思。

幫助文檔上說這個(gè)對象只提供了一個(gè)方法stop,但是在我看的源碼里還提供了一個(gè)事件onTimerEvent,應(yīng)該可以在某個(gè)時(shí)候觸發(fā)這個(gè)事件。但幫助文檔上沒有給出示例。

這個(gè)對象源碼比較簡單,這里直接貼出來了,就不再注釋了:
復(fù)制代碼 代碼如下:
var PeriodicalExecuter = Class.create({
initialize: function(callback, frequency) {
this.callback = callback;
this.frequency = frequency;
this.currentlyExecuting = false;

this.registerCallback();
},

registerCallback: function() {
this.timer = setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);
},

execute: function() {
this.callback(this);
},

stop: function() {
if (!this.timer) return;
clearInterval(this.timer);
this.timer = null;
},

onTimerEvent: function() {
if (!this.currentlyExecuting) {
try {
this.currentlyExecuting = true;
this.execute();
} catch(e) {
/* empty catch for clients that don't support try/finally */
}
finally {
this.currentlyExecuting = false;
}
}
}
});

看一下示例:
復(fù)制代碼 代碼如下:
new PeriodicalExecuter(function(pe) {
if (!confirm('Want me to annoy you again later?'))
pe.stop(); },
5);
// Note that there won't be a stack of such messages if the user takes too long
// answering to the question...

JavaScript技術(shù)Prototype PeriodicalExecuter對象 學(xué)習(xí),轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 淳化县| 镇远县| 综艺| 遂川县| 平原县| 柘城县| 昭苏县| 乡宁县| 繁峙县| 阜康市| 屏东市| 伊宁市| 资溪县| 大城县| 连平县| 石家庄市| 苍溪县| 巴林左旗| 郴州市| 太康县| 黄冈市| 义马市| 息烽县| 龙川县| 仙桃市| 温州市| 进贤县| 遂昌县| 河北区| 迭部县| 赫章县| 湖南省| 清河县| 乐陵市| 阿拉善左旗| 苗栗县| 克什克腾旗| 韩城市| 西藏| 喀喇沁旗| 呼玛县|