DataTable.util.throttle()
自:DataTables 1.11
限制对方法的调用以降低调用频率。
描述
这是一个由扩展和插件作者使用的实用方法。它的使用不会直接影响 DataTable 或 DataTables 配置。DataTables 在内部使用它,并将其提供给公共 API 以帮助促进扩展作者的代码重用。
通常情况下,限制在给定时间段内调用方法的次数非常有用(限制)。例如,考虑使用 search()
方法搜索表格。如果您使用的是服务器端处理,您可能希望限制在一段时间内向服务器发出的请求的次数(一个快速的打字员可能每秒触发许多 Ajax 调用!)。此方法可以通过包装给定函数帮助实现该目标,您将按需要调用该函数(在搜索示例中,在每次按键时),该包装函数会自动限制对目标函数的调用次数达到所需的频率。
请注意,当调用传递给返回函数的任何参数时,都会传递给原始函数。此外,原始函数的执行范围将与返回函数的范围匹配。
这不是一个防抖函数 - 即使函数仍在被调用,它也将在定义的频率执行该函数。再次考虑上述搜索示例来说明这一点,将在给定的频率搜索表格,而用户仍在输入。它不会等到用户停止输入(虽然一旦用户停止输入,就会执行函数的最终执行!)。
有关去抖动函数创建程序,请参见 DataTable.util.debounce()
。
类型
示例
将搜索 API 方法调用减少到每秒 1 次
var table = new DataTable('#myTable');
var search = DataTable.util.throttle(function (val) {
table.search(val).draw();
}, 1000);
$('#mySearchBox').on('keyup', function () {
search(this.value);
});
相关
以下选项直接相关,您在应用开发中也可能用到它们。