Underscore [24] : 使用 debounce 情境

摘要:Underscore 使用 debounce 情境

接下來介紹 Underscore 一個滿實用的功能 ,  debounce , 

 

底下為簡體版的說明 : 

 

返回 function 函数的防反跳版本, 将延迟函数的执行(真正的执行)在函数最后一次调用时刻的 wait 毫秒之后. 对于必须在一些输入(多是一些用户操作)停止到达之后执行的行为有帮助。 例如: 渲染一个Markdown格式的评论预览, 当窗口停止改变大小之后重新计算布局, 等等.

 

裡面也提到了如下 : 

 

传参 immediate 为 true 会让debounce 在 wait 间隔之后 触发最后的函数调用而不是最先的函数调用.在类似不小心点了提交按钮两下而提交了两次的情况下很有用

 

這裡提到我們常常會遇到的狀況 , 例如 click 事件會出發 ajax 需求時 , 可能因為手抖了一下就按了兩次以上 , 

 

這時候就會發出兩次以上的請求 , 

 

因此透過這個方法 , 我們可以更有效率的發出請求 

 

底下的 sample 就是使用了 _.bounce 來有效降低發出請求 , 

 

可以發現如果連須按了好幾下 , 其實也只會發出一次的請求而已

 

JS Bin

 

2014 / 10 / 31 修正