JS 讲解时效缓存与延迟处理
来源:互联网 发布:淘宝联盟软件下载 编辑:程序博客网 时间:2024/04/28 05:46
前述,举个例子。我就是我上次写一个百度地图框架的时候。
第一种情况:
地图里面有一个拖拽事件,用户在地图拖拽到某个区域。地图会自动计算坐标。显示该区域的所有商店标注位。由于数据是动态的,如果你不停拖拽,拖拽一下就去后台请求一次。那是性能消耗太大了。而且也没有必要。
第二种情况:
当用户拖拽完后,会去显示标注位,显示标注位的时候,会去计算地图的边界值。如果重复去调用的话。每次都重新去计算就不太好。但又不想把数据静态缓存。数据缓存需要时效性。就是当它过了这个时间。缓存数据会失效。
debounce 函数(func,wait,[immediate]) 介绍
返回 function 函数的防反跳版本, 将延迟函数的执行(真正的执行)在函数最后一次调用时刻的wait 毫秒之后. 对于必须在一些输入(多是一些用户操作)停止到达之后执行的行为有帮助。 例如: 渲染一个Markdown格式的评论预览, 当窗口停止改变大小之后重新计算布局, 等等.
传参 immediate 为 true, debounce会在 wait 时间间隔的开始调用这个函数 。
var a=debounce (function(){ console.info("1");},1000);// 当你调用a的时候,连续不停的调用。它是不会被触发的。当你最后一次调用后,过1秒钟。它会自动触发
var b=debounce (function(){ return +new Date;},1000);// 当你调用b的时候,连续不停的调用。它返回都是第一次生成的时间戳。当你过1秒后,再去调用,它会再次生成最新的时间戳。
下面是我的代码,实例。你可以看到我注释部分有用到这个。这个方法在代码中很实用。
- JS 讲解时效缓存与延迟处理
- 工作时效计算逻辑与算法时效--对节假日、周末调班、周末时间进行处理
- 串口通信中接收数据时延迟处理与缓存
- 串口通信中接收数据时延迟处理与缓存处理的解决方案(C#)
- C#解决串口通信中接收数据时延迟处理与缓存处理的方法
- C#解决串口通信中接收数据时延迟处理与缓存处理的方法
- 串口通信中接收数据时延迟处理与缓存处理的解决方案(C#)
- C#解决串口通信中接收数据时延迟处理与缓存处理的方法
- C#解决串口通信中接收数据时延迟处理与缓存处理的方法
- JS延迟处理函数setInterval
- 时效!
- 实时刷新缓存-处理mysql主从延迟的一些设计方案
- js 文件缓存处理方法
- android webview缓存处理与缓存模式
- mybatis3--延迟加载,缓存
- MyBatis 缓存、延迟加载
- C# JS 自定义控件 缓存处理
- Android 解屏幕锁与点亮屏幕(来电时效果)
- ACM算法分类
- java原始类型
- dumpbin(vs自带)
- 二分查找
- linux 常用命令
- JS 讲解时效缓存与延迟处理
- iOS中的AlterViewController的一些总结
- picasso-强大的Android图片下载缓存库
- CentOS 6 系列按国别阻止网络流量
- html学习之路——第一天(2)
- cocos2d 安卓编译 cpp Android.mk
- linux中安装QT后,新建工程提示 No valid kits found的解决办法
- 《Android源码设计模式》读书笔记 (22) 第22章 享元模式
- java去除字符串两端空格,对字符串指定位置进行反转。