最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

jquer之a(chǎn)jaxQueue簡單實現(xiàn)代碼

 更新時間:2011年09月15日 22:16:31   作者:  
手頭不是很忙,突然想到了ajax queue這個概念,之前貌似有看技術(shù)文章中提到過這個,就想著用jquery來實現(xiàn)一下,思想比較簡單
沒什么復(fù)雜的東西,就是用個array對象來做隊列,維護(hù)ajax請求的順序。下面給出代碼:
復(fù)制代碼 代碼如下:

;(function($) {
$.ajaxQueue = {
// 管理ajax請求的隊列
requests: new Array(),
// 把待發(fā)送的ajax請求加入隊列
offer: function(options) {
var _self = this,
// 對complete,beforeSend方法進(jìn)行“劫持”,加入隊列處理方法poll
xhrOptions = $.extend({}, options, {
// 如果請求完成,發(fā)送下一個請求
complete: function(jqXHR, textStatus) {
if(options.complete)
options.complete.call(this, jqXHR, textStatus);
_self.poll();
},
// 如果請求被取消,繼續(xù)發(fā)送下一個請求
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方式發(fā)送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文檔的一致。
如果您感興趣,可以點(diǎn)擊我的jsFiddle share進(jìn)行在線運(yùn)行,修改等。最后有什么問題,歡迎提出交流 :)

您可能感興趣的文章:

相關(guān)文章

最新評論

肇州县| 临泉县| 广东省| 呼和浩特市| 隆昌县| 兴和县| 木兰县| 文化| 来凤县| 清原| 连城县| 揭东县| 加查县| 巴塘县| 田阳县| 合阳县| 广南县| 万州区| 上林县| 大连市| 达拉特旗| 肥城市| 璧山县| 五常市| 囊谦县| 尉犁县| 韩城市| 新蔡县| 霍邱县| 安康市| 肥西县| 平昌县| 定襄县| 宝丰县| 武义县| 喀喇| 广昌县| 昭苏县| 石狮市| 和平县| 赣榆县|