私はJSに少し慣れていないので、私が取り組んでいるアプリケーションで非同期相互作用を設計する最良の方法を考えようとしています.
いくつかのライブ API に基づくデータに関連するレコードのリストを取得しました。これらのレコードのリストをユーザーに表示すると、ユーザーは詳細情報を表示したい特定のレコードを選択できます。この追加データは、ajax 呼び出しを介して API からロードします。
これをより現実的な例にするために、私が持っているのは株のリストだとしましょう。各銘柄の名前と昨日の終値を取得しました。各銘柄の横にチェック ボックスがあり、ユーザーがこのボックスをチェックすると、過去 1 年間の過去の株価がグラフにプロットされます。
ユーザーが途中で 1 つの銘柄を選択した場合の動作は単純です。1 つの株の履歴データに対して 1 つの API リクエストを送信し、それをグラフにプロットします。
ただし、ユーザーは一度に、または立て続けに多数の銘柄を選択する場合があります。10 回、20 回、または 50 回のリクエストを続けて実行したくはありません。
私のアプリケーションに、チェック ボックスが切り替えられたときに株式履歴を検索するイベント リスナーがあるとします。たとえば、次のようになります。
$('input.stock_toggle').change( function(event){
var symbol = $(this).data('symbol');
lookupStockHistory(symbol);
});
lookupStockHistory
何度も連続して発火するのではなく、1 秒間待って、入ってきたすべてのイベントをプールして単一のリクエストを送信する関数、またはその他の種類のイベント リスナーなどを定義するにはどうすればよいでしょうか?