jQuery deferred的实践,ajax请求增加缓存处理
来源:互联网 发布:金角大王异步网络框架 编辑:程序博客网 时间:2024/05/21 09:17
ajax是一个异步操作,我们这使用ajax请求接口的时候,往往都是callback来实现回调。
localStorage是一个同步操作,如果有本地缓存的话,往往都是直接执行返回。
如果我们需要对外提供统一的方法,实现ajax操作,且能处理ajax的缓存,那么jQuery的deferred对象自然是不二选择。defferd对象。参考。http://blog.csdn.net/lqyygyss/article/details/51150138
代码如下:
var deferredCache = function(data){ var defer = jQuery.Deferred(); defer.resolve(cacheData); return jQuery.when(defer.promise());}var getDataByAjax = function (params) { //do something var xhr = jQuery.ajax(params); return xhr;};exports.getData= function(params){ //读取本地缓存数据 var data = localStore.getLocalDataByKey(params.key); //如果存在在使用deferred对象异步延迟,否则直接请求ajax获取数据,成功则保存到本地。 var def = data ? deferredCache(data) : getDataByAjax(params); def.done(function(datas){ localStore.setLocalDataByKey(params.key,datas); }); return def;}
getData返回的是一个deferred对象或者ajax.
var _params ={ url:, type:, done:, fail:, always:,}
对外提供的方法就是getData,使用者只要知道是请求ajax就OK了。只不过使用done,fail,always,而不是使用success,error。
0 0
- jQuery deferred的实践,ajax请求增加缓存处理
- jQuery的deferred对象使用详解——实现ajax同步请求数据
- jquery ajax deferred
- jquery ajax请求 清除缓存
- jquery的ajax请求时遇到的ie缓存问题
- 防止jQuery的AJAX请求缓存里的数据
- Jquery AJAX 请求IE缓存,数据不更新的问题
- ajax 的get请求的缓存处理方案
- 一般处理程序ashx 处理JQuery的Ajax()请求
- ajax请求在ie下缓存的处理
- jquery的ajax缓存
- Ajax 运用 Deferred异步处理
- jQuery全面解剖系列(一)Deferred风格的Ajax
- JQuery的Ajax请求
- jquery的$.ajax请求
- ajax的缓存处理
- jquery deferred延迟对象处理
- jquery中ajax请求过程显示正在处理的图片
- window命令提示符快捷键
- 62、Java基础之数组
- iOS 视频相关
- U3d菜单栏变化:Camera的Smooth Follow属性位置,U3d自带地势资源包的导入,天空盒设置
- 第七章:Linux文件与目录管理
- jQuery deferred的实践,ajax请求增加缓存处理
- Flexbox布局笔记
- String,StringBuffer与StringBuilder的区别
- 基于Json传递数据的Augularjs分页的spring后台代码
- 如何实现监听用户驻留APP的时长(service的简单用法)
- 图像特征之 Haar-like特征(一)概述及特征值数量计算
- 泛型的通配符,上限,下限以及泛型嵌套
- 高档cpu安装虚拟机注意事项
- 分布式、集群区别