私は1秒後に親コンポーネントにメッセージをポストする関数を持っています。ループを作成し、条件が満たされたらループを止めるには?
setTimeout(function(){
var widgetHeight = getDocHeight();
parent.postMessage(widgetHeight, hostURL);
}, 1000)
私はそれが親にメッセージを投稿してループを停止するよりも、変更した場合、私はすべての1/10秒widgetHeight
をチェックするループを作成し、そのようにこれをリファクタリングしたいと思います。
どうすればいいですか?
あなただけのsetIntervalの代わりにsetTimeoutメソッドを使用しているように見えます。 setTimeoutは、実行間隔の停止に使用できるオブジェクトを返します。 –
'setInterval()'を使用して、定期的にアクションを実行できます。 'setInterval()'の戻り値はその反復アクションの識別子であり、後でそのアクションを取り消すために使用することができます。 – David
[setIntervalを終了する方法](https://stackoverflow.com/questions/1795100/how-to-exit-from-setinterval)の可能な複製 – Nope