何回呼び出しても、Javascriptで1回だけ関数を実行します。 次のコードを記述しても動作しません。関数をJavascriptで1回だけ実行します。
var counter = 0;
if(n.data === YT.PlayerState.BUFFERING) {
setTimeout(function() {
if(counter===0) {
r.frontPlayer.seekTo(10);
counter++;
}}, 2000);
}
この特定の機能については、カウンタは必要ありません。 'setTimeout'は一度だけ実行します。このコードブロックを複数回実行している場合、それは別の問題です。 –
'var counter = 0;'は 'setTimeout'が宣言されているのと同じスコープになっています –
あなたはこの機能について話していますか? setTimeoutコールバック関数またはr.frontPlayer.seekTo(10)? setTimeoutコールバック関数は、コードブロック全体が再度実行されない限り、一度だけ実行されます。 – Saad