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

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

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

;(function($) {
$.ajaxQueue = {
// 管理ajax請求的隊列
requests: new Array(),
// 把待發(fā)送的ajax請求加入隊列
offer: function(options) {
var _self = this,
// 對complete,beforeSend方法進行“劫持”,加入隊列處理方法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文檔的一致。
如果您感興趣,可以點擊我的jsFiddle share進行在線運行,修改等。最后有什么問題,歡迎提出交流 :)

您可能感興趣的文章:

相關文章

最新評論

漯河市| 普定县| 普兰店市| 永平县| 瓮安县| 海伦市| 井冈山市| 鄢陵县| 宁南县| 班玛县| 孝昌县| 奈曼旗| 庆阳市| 乳山市| 凉山| 蓬溪县| 新巴尔虎左旗| 综艺| 罗平县| 舞阳县| 乐东| 兰考县| 都江堰市| 朝阳市| 桑植县| 吴堡县| 江西省| 琼海市| 柯坪县| 中阳县| 沂南县| 渝中区| 阜城县| 南昌市| 太康县| 海口市| 江口县| 大理市| 布尔津县| 固阳县| 阿拉善右旗|