0
TypeScript
で簡単な遅延検索を作成しようとしています。私はここに記載されているように答えを使用しました@stackoverflow。待機していないタイプスクリプトを使用したjavascript/jQuery検索の遅延
現在、私のスクリプトは次のようになります。
$searchInput: JQuery;
timer: number;
waitTimeOut = 3000;
init() : void{
this.$searchInput.on("input propertychange paste", this.handleSearchInputChange);
}
handleSearchInputChange = (evt: Event): void => {
var $theInput = $(evt.currentTarget);
clearTimeout(this.timer);
var val = $theInput.val();
this.timer = setTimeout(this.lookup(val), this.waitTimeOut);
}
lookup = (searchTerm: string): void => {
console.log(`I should start a search with [${searchTerm}]`);
}
しかし、全ての遅延はありません。入力された各文字は、すぐにlookup
-callをトリガーします。 timer
とwaitTimeOut
で範囲の問題がありますか?あるいは、関数定義が間違った範囲に入っていますか?
ここでfat-arrow
が正しいかどうかはまだ分かりません。
私はあなたの答えのように変更し、 'ReSharper'は'ラムダexpression'に変換使用して、私を示唆しました。これは 'self'を削除し、最初のパラメータを'()=> {this.lookup(val)} 'に変更します。今私はちょっとボクシングの下でここで何をしているのかちょっと混乱している。 – KingKerosin
@KingKerosin、私はTypeScriptにはあまり良くないので、そこにお手伝いできません、私はPlain vanilla JSスクリプト – Satpal