最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

jquer之ajaxQueue简单实现代码_jquery

来源:动视网 责编:小采 时间:2020-11-27 21:00:41
文档

jquer之ajaxQueue简单实现代码_jquery

jquer之ajaxQueue简单实现代码_jquery:没什么复杂的东西,就是用个array对象来做队列,维护ajax请求的顺序。下面给出代码: 代码如下: ;(function($) { $.ajaxQueue = { // 管理ajax请求的队列 requests: new Array(), // 把待发送的ajax请求加入队列 offer: function(
推荐度:
导读jquer之ajaxQueue简单实现代码_jquery:没什么复杂的东西,就是用个array对象来做队列,维护ajax请求的顺序。下面给出代码: 代码如下: ;(function($) { $.ajaxQueue = { // 管理ajax请求的队列 requests: new Array(), // 把待发送的ajax请求加入队列 offer: function(


没什么复杂的东西,就是用个array对象来做队列,维护ajax请求的顺序。下面给出代码:
代码如下:
;(function($) {
$.ajaxQueue = {
// 管理ajax请求的队列
requests: new Array(),
// 把待发送的ajax请求加入队列
offer: function(options) {
var _self = this,
// 对complete,beforeSend方法进行“劫持”,加入队列处理方法poll
xhrOptions = $.extend({}, options, {
// 如果请求完成,发送下一个请求
complete: function(jqXHR, textStatus) {
if(options.complete)
options.complete.call(this, jqXHR, textStatus);
_self.poll();
},
// 如果请求被取消,继续发送下一个请求
beforeSend: function(jqXHR, settings) {
if(options.beforeSend)
var ret = options.beforeSend.call(this, jqXHR, settings);
if(ret === false) {
_self.poll();
return ret;
}
}
});
this.requests.push(xhrOptions);
if(this.requests.length == 1) {
$.ajax(xhrOptions);
}
},
// 用FIFO方式发送ajax请求
poll: function() {
if(this.isEmpty()) {
return null;
}
var processedRequest = this.requests.shift();
var nextRequest = this.peek();
if(nextRequest != null) {
$.ajax(nextRequest);
}
return processedRequest;
},
// 返回队列头部的ajax请求
peek: function() {
if(this.isEmpty()) {
return null;
}
var nextRequest = this.requests[0];
return nextRequest;
},
// 判断队列是否为空
isEmpty: function() {
return this.requests.length == 0;
}
}
})(jQuery);

使用的话就是$.ajaxQueue.offer(settings),settings的配置和jQuery文档的一致。
如果您感兴趣,可以点击我的jsFiddle share进行在线运行,修改等。最后有什么问题,欢迎提出交流 :)

文档

jquer之ajaxQueue简单实现代码_jquery

jquer之ajaxQueue简单实现代码_jquery:没什么复杂的东西,就是用个array对象来做队列,维护ajax请求的顺序。下面给出代码: 代码如下: ;(function($) { $.ajaxQueue = { // 管理ajax请求的队列 requests: new Array(), // 把待发送的ajax请求加入队列 offer: function(
推荐度:
标签: 实现 代码 jQuery
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top