スロットルバルブとデバウンシングの基本的な実装方法の紹介

不言
リリース: 2019-04-13 11:53:00
転載
2184 人が閲覧しました

この記事では、スロットルバルブとデバウンシングの基本的な実装方法を紹介します。一定の参考価値があります。必要な友人は参考にしてください。お役に立てれば幸いです。

スロットルバルブthrottle

トリガーされたイベントは、リアルタイムではなく定期的に実行されます。まるで水が滴る蛇口のよう。

function throttle (fn, delay) {
  // 利用闭包变量时效性
  let timeout
  let arg
  return function () {
    arg = arguments
    if (!timeout) {
      timeout = setTimeout(() => {
        fn.apply(this, arg)
        timeout = null
      }, delay)
    }
  }
}
// demo
/*
var test = throttle(function (a) {console.log(a)}, 1000)
test(1) // 不执行
test(2) // 不执行
test(3)
=> 3
test = null // 不需要时释放内存
*/
ログイン後にコピー

デバウンス debounce

最後のイベント (エレベーターのドアなど) から N ミリ秒後にトリガーします。

rreeee

以上がスロットルバルブとデバウンシングの基本的な実装方法の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:segmentfault.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!