如何将VUE防抖与节流最佳解决方案改写为函数式组件的长尾?

2026-04-09 18:370阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计2589个文字,预计阅读时间需要11分钟。

如何将VUE防抖与节流最佳解决方案改写为函数式组件的长尾?

前言:有echarts使用经验的同学可能遇到过这样的场景,在window.onresize事件回调中调用echartsBox.resize()方法来实现重绘的目的。resize事件是连续触发的,这意味着echarts实例会连续重绘。这是非前言。

前言

有echarts使用经验的同学可能遇到过这样的场景,在window.onresize事件回调里触发echartsBox.resize()方法来达到重绘的目的,resize事件是连续触发的这意味着echarts实例会连续的重绘这是非常耗性能的。还有一个常见的场景在input标签的input事件里请求后端接口,input事件也是连续触发的,假设我输入了“12”就会请求两次接口参数分别是“1”和“12”,比浪费网络资源更要命的是如果参数为“1”的请求返回数据的时间晚于参数为“12”的接口,那么我们得到的数据是和期望不符的。当然基于axios可以做很多封装可以取消上一个请求或者通过拦截做处理,但还是从防抖入手比较简单。

防抖和节流到底是啥

函数防抖(debounce)

解释:当持续触发某事件时,一定时间间隔内没有再触发事件时,事件处理函数才会执行一次,如果设定的时间间隔到来之前,又一次触发了事件,就重新开始延时。

案例:持续触发scroll事件时,并不立即执行handle函数,当1000毫秒内没有触发scroll事件时,才会延时触发一次handle函数。

阅读全文

本文共计2589个文字,预计阅读时间需要11分钟。

如何将VUE防抖与节流最佳解决方案改写为函数式组件的长尾?

前言:有echarts使用经验的同学可能遇到过这样的场景,在window.onresize事件回调中调用echartsBox.resize()方法来实现重绘的目的。resize事件是连续触发的,这意味着echarts实例会连续重绘。这是非前言。

前言

有echarts使用经验的同学可能遇到过这样的场景,在window.onresize事件回调里触发echartsBox.resize()方法来达到重绘的目的,resize事件是连续触发的这意味着echarts实例会连续的重绘这是非常耗性能的。还有一个常见的场景在input标签的input事件里请求后端接口,input事件也是连续触发的,假设我输入了“12”就会请求两次接口参数分别是“1”和“12”,比浪费网络资源更要命的是如果参数为“1”的请求返回数据的时间晚于参数为“12”的接口,那么我们得到的数据是和期望不符的。当然基于axios可以做很多封装可以取消上一个请求或者通过拦截做处理,但还是从防抖入手比较简单。

防抖和节流到底是啥

函数防抖(debounce)

解释:当持续触发某事件时,一定时间间隔内没有再触发事件时,事件处理函数才会执行一次,如果设定的时间间隔到来之前,又一次触发了事件,就重新开始延时。

案例:持续触发scroll事件时,并不立即执行handle函数,当1000毫秒内没有触发scroll事件时,才会延时触发一次handle函数。

阅读全文