DataTable.util.debounce()
起始版本:DataTables 2.0
等待一段逾時時間後再呼叫函式。
描述
這是一個實用方法,提供給擴充功能和外掛程式的作者使用。它提供建立防抖函式的功能,此函式會在給定的時間段過去後,才調用給定的函式,而此時間段是從上次呼叫防抖函式開始計算的。
這對於限制執行資源密集操作的次數,同時仍然觸發互動操作來說特別有用。一個常見的例子是用於啟用伺服器端處理 (serverSide
) 的搜尋輸入時,您可能希望搜尋操作只在使用者完成輸入後執行一次,而不是在每次按鍵時執行。這是 DataTables 在內部用於 searchDelay
選項的方法。
請注意,當呼叫時,傳遞給返回函式的任何引數都將傳遞給原始函式。此外,原始函式的執行範圍將與返回函式的範圍匹配。
它與它的夥伴函式 DataTable.util.throttle()
相似,但是,在這種情況下,它會等到呼叫防抖函式的序列結束後才執行原始函式,而 throttle
即使在包裝函式仍在呼叫時也會定期呼叫。
類型
範例
將搜尋 API 方法呼叫次數減少到每秒 1 次
var table = new DataTable('#myTable');
var search = DataTable.util.debounce(function (val) {
table.search(val).draw();
}, 1000);
$('#mySearchBox').on('keyup', function () {
search(this.value);
});
相關
以下選項直接相關,也可能在您的應用程式開發中很有用。