iT邦幫忙

DAY 24
1

Sharping up with UnderScore.js library系列 第 25

Underscore [24] : 使用 debounce 情境

  • 分享至 

  • xImage
  •  

今天來介紹 Underscore 一個滿實用的功能 , debounce ,

其網站的中文介紹說明如下 :

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

這在某些情境下滿有用的 , 例如當我們按下按鈕時會發出 ajax 請求 ,

可是有時後手抖了好幾下卻發出同樣次數的請求 ,

這間接造成資源的浪費 ,

而 debounce 如上面的介紹所說 , 可以降低這種狀況的發生

底下的 Sample 主要是按下按鈕會觸發 ajax 請求 , 當請求成功時並

不會做任何事情 , 這時候你可以觀察連續

按好幾下按鈕時其實它只會產生一次請求

$("#btn").click(_.debounce(test, 1000, true) );


function test(){
  
  $.ajax({type: "GET",
                url: "test.aspx"
            }).done(function (resp) {
            });
}

程式範例


上一篇
Underscore [23] : 有趣的 functions 方法
下一篇
Underscore [25] : 使用 extend 範例
系列文
Sharping up with UnderScore.js library31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言