当前位置: 首页 > news >正文

溧阳做网站哪家好百度上首页

溧阳做网站哪家好,百度上首页,wordpress安装,龙岗网站制作公司一般多少钱在前端项目开发中,点击事件的防抖是一个永远无法错开的点,特别是针对一些复杂的业务场景,如果不做好防抖操作,就会导致页面或功能触发多次,引发异常或闪退。 在Flutter中可以通过扩展函数的特性 对Function增加全局扩…

在前端项目开发中,点击事件的防抖是一个永远无法错开的点,特别是针对一些复杂的业务场景,如果不做好防抖操作,就会导致页面或功能触发多次,引发异常或闪退。

在Flutter中可以通过扩展函数的特性 对Function增加全局扩展函数,实现防抖效果。

具体如下:

extension FunctionExt on Function {VoidCallback throttle() {return FunctionProxy(this).throttle;}// 立即执行目标操作,同时给出一个延迟的时间,// 在该时间范围内如果再次触发了事件,该次事件会被忽略,直到超过该时间范围后触发事件才会被处理。VoidCallback throttleWithTimeout({int? timeout}) {return FunctionProxy(this, timeout: timeout).throttleWithTimeout;}// 在触发事件时,不立即执行目标操作,而是给出一个延迟的时间,// 在该时间范围内如果再次触发了事件,则重置延迟时间,直到延迟时间结束才会执行目标操作。VoidCallback debounce({int? timeout}) {return FunctionProxy(this, timeout: timeout).debounce;}
}class FunctionProxy {static final Map<String, bool> _funcThrottle = {};static final Map<String, Timer> _funcDebounce = {};final Function? target;final int timeout;FunctionProxy(this.target, {int? timeout}) : timeout = timeout ?? 500;// 节流(默认延迟)void throttle() async {String key = hashCode.toString();bool enable = _funcThrottle[key] ?? true;if (enable) {_funcThrottle[key] = false;try {await target?.call();} catch (e) {rethrow;} finally {_funcThrottle.remove(key);}}}// 节流(自定义延迟)void throttleWithTimeout() {String key = hashCode.toString();bool enable = _funcThrottle[key] ?? true;if (enable) {_funcThrottle[key] = false;Timer(Duration(milliseconds: timeout), () {_funcThrottle.remove(key);});target?.call();}}//延迟顺序执行的防抖void debounce() {String key = hashCode.toString();Timer? timer = _funcDebounce[key];timer?.cancel();timer = Timer(Duration(milliseconds: timeout), () {Timer? t = _funcDebounce.remove(key);t?.cancel();target?.call();});_funcDebounce[key] = timer;}
}

在使用的地方

              onBackPressed: () {}.throttleWithTimeout(timeout: 500)

这种方案只是提供了一种防抖的实现,当然也可以自定义通用的Button,通过点击事件触发的时间自行判断处理。

http://www.15wanjia.com/news/14193.html

相关文章:

  • 手机网站建设的趋势百度上做广告怎么收费
  • 怎样建设网站赚钱刷排名seo软件
  • 网站建设 amp 金手指排名效果好长沙优化网站哪家公司好
  • 做任务在那个网站靠谱网络营销推广活动有哪些
  • 平面设计鉴赏网站深圳谷歌seo公司
  • 湖南做网站 多少钱磐石网络景德镇seo
  • 网站开发语言优缺点腾讯广点通广告投放平台
  • 网站开发和安卓开发百度搜索风云榜人物
  • 公司网站建设费如何出账接广告的平台推荐
  • 盘锦做网站电话best网络推广平台
  • jsp 网站建设企业整站推广
  • 网站可信度验证seo搜索引擎优化试题
  • 做美食如何加入团购网站nba最新赛程
  • 比较好的家装设计网站跨境电商平台有哪些
  • 宁波做网站有哪些公司公司云浮新增确诊病例30例
  • 网站建设人员信息百度宣传推广
  • 商城型网站开发网站建设最近新闻热点
  • php mysql网站开发...软件开发公司网站
  • flash网站设计作品灰色行业推广渠道
  • 网站登录界面图片用什么软件做什么是软文写作
  • 做网站之前要怎样准备图片google play store
  • 格力网站建设首页百度推广人联系方式
  • 哈尔滨网站建设学校360网站排名优化
  • 开发系统网站建设今日疫情最新情况
  • 建设网站需要问的问题宁波seo优化排名
  • 购物网站建设工作流程青岛网站权重提升
  • 做网站文案seo人人网
  • 做空比特币网站如何建立一个自己的网站?
  • 自驾黄山旅游攻略太原百度推广排名优化
  • 网站策划书撰写流程市场调研方法