91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

debounce和throttle怎么應用

發布時間:2021-12-18 10:12:25 來源:億速云 閱讀:132 作者:iii 欄目:大數據

這篇文章主要講解了“debounce和throttle怎么應用”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“debounce和throttle怎么應用”吧!

防抖 (debounce)

防抖,顧名思義,防止抖動,以免把一次事件誤認為多次,敲鍵盤就是一個每天都會接觸到的防抖操作。

想要了解一個概念,必先了解概念所應用的場景。在 JS 這個世界中,有哪些防抖的場景呢

  1. 登錄、發短信等按鈕避免用戶點擊太快,以致于發送了多次請求,需要防抖
  2. 調整瀏覽器窗口大小時,resize 次數過于頻繁,造成計算過多,此時需要一次到位,就用到了防抖
  3. 文本編輯器實時保存,當無任何更改操作一秒后進行保存

代碼如下,可以看出來「防抖重在清零 clearTimeout(timer)

function debounce (f, wait) {
  let timer
  return (...args) => {
    clearTimeout(timer)
    timer = setTimeout(() => {
      f(...args)
    }, wait)
  }
}
   

節流 (throttle)

節流,顧名思義,控制水的流量。控制事件發生的頻率,如控制為1s發生一次,甚至1分鐘發生一次。與服務端(server)及網關(gateway)控制的限流 (Rate Limit) 類似。

  1. scroll 事件,每隔一秒計算一次位置信息等
  2. 瀏覽器播放事件,每個一秒計算一次進度信息等
  3. input 框實時搜索并發送請求展示下拉列表,每隔一秒發送一次請求 (也可做防抖)

代碼如下,可以看出來「節流重在加鎖 timer=timeout

function throttle (f, wait) {
  let timer
  return (...args) => {
    if (timer) { return }
    timer = setTimeout(() => {
      f(...args)
      timer = null
    }, wait)
  }
}
    

感謝各位的閱讀,以上就是“debounce和throttle怎么應用”的內容了,經過本文的學習后,相信大家對debounce和throttle怎么應用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

云梦县| 高要市| 屯门区| 巴东县| 黄龙县| 宾川县| 封开县| 南通市| 杭锦后旗| 塘沽区| 灵台县| 项城市| 鱼台县| 南阳市| 西青区| 青浦区| 砚山县| 教育| 平和县| 府谷县| 呼伦贝尔市| 东光县| 营口市| 嘉定区| 华安县| 鹤岗市| 监利县| 沂源县| 丹江口市| 平度市| 沾化县| 成都市| 沂南县| 大洼县| 香格里拉县| 大足县| 鄢陵县| 尉犁县| 沙坪坝区| 平湖市| 永顺县|