clearInterval
clearIntervalを利用する事によって、setIntervalで定期的にスケジュールされているタスクを取り消せます。 clearIntervalの引数は、setIntervalが返すハンドルです。
以下のサンプルではclearTimeoutを利用して、setIntervalされる関数を後から取り消しています。 それによって、本来ならば1秒毎に実行される予定である「callbackfunc」が、5秒後に呼び出されるcancelfunc内のclearIntervalによって取り消されています。
widget.js
var nodeNormal = getNode("normal");
var nodeNormalBase = getChildNode(nodeNormal, "normalBase");
var nodeFocus = getNode("focus");
var nodeFocusBase = getChildNode(nodeFocus, "focusBase");
// this will be used by clearTimeout
var to;
function callbackfunc() {
print("hoge\n");
}
function cancelfunc() {
print("clearInterval\n");
clearInterval(to);
}
function onLoad() {
loadImage(nodeNormalBase, "./parts/normal.png");
loadImage(nodeFocusBase, "./parts/focus.png");
to = setInterval(callbackfunc, 1*1000);
setTimeout(cancelfunc, 5*1000);
}
function onUpKey() {
}
function onDownKey() {
}
function onRightKey() {
}
function onLeftKey() {
}
function onConfirmKey(type) {
}
function onFocus() {
setVisible(nodeNormal, 0);
setVisible(nodeFocus, 1);
}
function onUnfocus() {
setVisible(nodeNormal, 1);
setVisible(nodeFocus, 0);
}
function onActivate() {
setVisible(nodeNormal, 0);
setVisible(nodeFocus, 0);
}
サンプルダウンロード
ウィジェットバンドル : clearInterval.zip