任意のコードを実行し、いつでも停止できるようにしたい。これをsetTimeout
使用clearTimeout
して停止できると考えました。ただし、タイムアウトのコードが独自のタイムアウトを作成する場合、元のコードをクリアした後でもそれらは実行され続けます。
例:
var timeoutID = setTimeout(
function(){
console.log("first event can be stopped with clearTimout(timeoutID)");
setTimeout(function(){console.log("but not this one")}, 5000)
}, 5000)
1 つの方法は、実行中のコードを制御し、追加のタイムアウトの値をグローバル変数に格納して、一度にすべてクリアすることです。しかし、これを行うためのより良い方法はありますか? そして、任意のコードでこれを行う方法はありますか?
明確にするために、関数にタイムアウトが含まれていても、必要な関数を実行し、必要なときにいつでも停止できるようにしようとしています