防反跳功能限制了该功能可以触发的速率。例如,查询服务器的自动完成文本栏。如果您在每次击键时查询服务器,都会不必要地影响网络和内存。您可以做的是在给定的时间内限制这些呼叫的数量。
您可以编写自己的防抖动功能,该功能将实际功能作为参数并以速率限制(限制)的方式执行。
const debounce = (cb, time) => { let timeout; return function() { const wrapperFunc = () => cb.apply(this, arguments); clearTimeout(timeout); timeout = setTimeout(wrapperFunc, time); } }
此函数接受2个参数callback和应调用的时间间隔。假设我们第一次调用该API的时间为1毫秒,而您将时间设置为250毫秒,直到251毫秒,无论该函数被调用多少次,都不会再次调用该API。您可以使用此调用替换自己的函数调用。