PeriodicalExecuterを停止させる

Prototype.jsで定期実行させるための便利オブジェクトPeriodicalExecuterですが、少し前のバージョンまで停止させる方法がありませんでした。clearIntervalさせるためのsetIntervalの返り値が保存されていなかったのが原因です。実際、少し調べても「停止のためのインターフェースは無いよ」な声ばかり。でも、これウソです。最新のバージョンだと停止させることは可能です。

バージョン1.5.0からはPeriodicalExecutorオブジェクトにstop()メソッドが追加されています。コード見れば分かりますが、上記の問題であったregisterCallback関数(setIntervalを行う実体関数)の返り値をメンバ変数に格納させておき、それをstopメソッド内でclearIntervalさせています。

コードを書けばこんな感じになります。

// hogeを30秒毎に定期実行
var executer = new PeriodicalExecuter(hoge, 30);
// 定期実行を停止
executer.stop();

それにしても、何でここまでこの機能を引っ張っていたのか。。もう少し早くから実装されてもよかった機能なんですけどね。

関連広告

Trackbacks:0

TrackBack URL for this entry
http://blog.katsuma.tv/mt-tb.cgi/80
Listed below are links to weblogs that reference
PeriodicalExecuterを停止させる from blog.katsuma.tv

Home > Javascript > PeriodicalExecuterを停止させる

Search
Feeds

Return to page top