非常に単純なextjsでは、バッファを使用できます。たとえば、次のコードは、新しい文字を入力して「変更」イベントを待機するまでに500ミリ秒のバッファ間隔を作成します。したがって、あなたが速く入力すると、完了するまで変更イベントが発生しません。あなたはあなたが望むようにバッファの量で遊ぶことができます
listeners: {
change: {
buffer: 500,
fn: function (sender, newValue, oldValue, eOpts) {
loadData();
}
}
EDIT:私は再びあなたの記事を読んで、私は誤解されるかもしれません。だから私はあなたの問題かもしれない別のケースの解決策を提供しています。入力された各番号に対してAJAX要求を送信している場合は、非同期であるため、いつ到着するかを知ることはできません。しかし、あなたは確かに簡単なコードの変更でそれを防ぐことができます。あなたは、これは動作するはずです、例えば約束を使用することができます。
// lets define loadData (just an example)
var job = new Promise(function(resolve, reject){
resolve();
});
var loadData = function(){
return new Promise(function(resolve, reject){
// do your job and when it finishes(can be async), call resolve
// ...
resolve();
});
};
// listener
change: function(){
job = job.then(function(){
return loadData();
});
}
あなたのコードを表示することができます。それは私たちがよりよく理解するのに役立ちます。 – UDID
あなたのコードについて知らずにこれらの値を配列に入れ、その配列を通る呼び出しを使用する – devbnz
サーバからデータをロードする前にユーザがもっと多くのキーを入力するのを待つべきです。または、指定されたすべてのクエリのデータが必要ですか? – MarthyM