0
我正在嘗試使用TypeScript
構建簡單的延遲搜索。我用這裏所描述的答案@stackoverflow。使用TypeScript不等待的延遲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
-調用。 這是一些範圍問題timer
和waitTimeOut
?或者是錯誤範圍內的'函數定義'?
還不確定在這裏使用fat-arrow
是否正確。
我改變你的答案,'ReSharper'建議我,用'轉換爲λ-expression'。這將刪除'self'並將第一個參數更改爲'()=> {this.lookup(val)}'。現在我有點困惑什麼打字稿正是在這裏引起的。 – KingKerosin
@KingKerosin,我對TypeScript不太好,所以幫不了你,我的是普通香草JS腳本 – Satpal