人のタイプとして動的な要求に取り組んでいます。すべてのキーを押しても通話が開始されないように、スロットルを試みたいと思います。
最初に考えられたのは、1 秒の settimeout を実行し、キーを押すたびにタイムアウトをクリアすることでした。したがって、リクエストをプッシュする前に 1 秒のラグが発生するまで待機します。
よりクリーンな提案があるかどうか疑問に思う
人のタイプとして動的な要求に取り組んでいます。すべてのキーを押しても通話が開始されないように、スロットルを試みたいと思います。
最初に考えられたのは、1 秒の settimeout を実行し、キーを押すたびにタイムアウトをクリアすることでした。したがって、リクエストをプッシュする前に 1 秒のラグが発生するまで待機します。
よりクリーンな提案があるかどうか疑問に思う
Underscore.jsは、x ミリ秒ごとに 1 回だけ実行されるバージョンの関数を作成するスロットル関数を提供します。あなたはそれを調べたいかもしれません
同時に実行されるスクリプトが他に多くない場合、このソリューションはうまく機能します。
if
それ以外の場合は、たとえば、キーを 5 回押すごとに呼び出しをトリガーするループを設定できます。このようなもの:
if(i == 5) {
//Execute your call
}
次に、キーを押すたびに i の値を増やします。
もちろん、さらに多くのソリューションもあります。