Javascriptのwindow.setTimeout(および関連するsetInterval)関数を使用すると、将来実行される関数をスケジュールできます。
id = setTimeout(function, delay);
ここで、「delay」は、関数を呼び出す未来のミリ秒数です。この時間が経過する前に、次を使用してタイマーをキャンセルできます。
clearTimeout(id);
私が欲しいのはタイマーを更新することです。関数が最初にスケジュールされたよりもxミリ秒早くまたは遅く呼び出されるように、タイマーを進めたり遅らせたりできるようにしたい。
getTimeoutメソッドがある場合は、次のようにすることができます。
originally_scheduled_time = getTimeout(id);
updateTimeout(id, originally_schedule_time + new_delay); // change the time
しかし、私が知る限り、getTimeoutや既存のタイマーを更新する方法は他にありません。
スケジュールされたアラームのリストにアクセスして変更する方法はありますか?
より良いアプローチはありますか?
ありがとう!