jquer之a(chǎn)jaxQueue簡單實現(xiàn)代碼
;(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進行在線運行,修改等。最后有什么問題,歡迎提出交流 :)
相關(guān)文章
jQuery實現(xiàn)可兼容IE6的滾動監(jiān)聽功能
這篇文章主要介紹了jQuery實現(xiàn)可兼容IE6的滾動監(jiān)聽功能,結(jié)合實例形式分析了jQuery針對不同瀏覽器的事件監(jiān)聽、響應(yīng)及頁面屬性動態(tài)變換相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2017-09-09
jQuery插件Validate實現(xiàn)自定義校驗結(jié)果樣式
這篇文章主要介紹了jQuery插件Validate實現(xiàn)自定義校驗結(jié)果樣式的方法,感興趣的小伙伴們可以參考一下2016-01-01
用jquery中插件dialog實現(xiàn)彈框效果實例代碼
這篇文章介紹了jquery中插件dialog實現(xiàn)彈框效果實例代碼,有需要的朋友可以參考一下2013-11-11
jquery append 動態(tài)添加的元素事件on 不起作用的解決方案
這篇文章主要介紹了jquery append 動態(tài)添加的元素事件on 不起作用的解決方案,需要的朋友可以參考下2015-07-07
vue登錄頁面cookie的使用及頁面跳轉(zhuǎn)代碼
這篇文章主要介紹了vue登錄頁面cookie的使用及頁面跳轉(zhuǎn)代碼功能,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-07-07
關(guān)于Jquery中的bind(),on()綁定事件方式總結(jié)
下面小編就為大家?guī)硪黄P(guān)于Jquery中的bind(),on()綁定事件方式總結(jié)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-10-10
用js實現(xiàn)的模擬jquery的animate自定義動畫(2.5K)
模仿jquery的animate寫了一個簡單的動畫實現(xiàn)方法。2010-07-07

