打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
jquery Ajax Queue 队列实现

有时候我们需要按顺序调用一组ajax,这些ajax需要有先后顺序,类似于同步的ajax,那么我们可以通过以下的方式来实现:

(这个Ajax用到jQuery.post) 

 

//定义一个AJAX队列$.newAjaxQueue = function() {    var queue = [],posting=false, fn = function() {        if(queue.length){            posting = true;            var request = queue.shift();            var url = request.url;            var params = request.params;            var callback = request.callback;            if (typeof(params) === 'function') {                callback = params;                params = {};            }            $.post(url, params, function(response, status, xhr) {                try{                    if (typeof(callback) === 'function') {                        callback(response);                    }                }finally{                    fn();                    posting = false;                }            }, 'text');        }    },instance = ({        post: function(url,params,callback){            queue.push({                url:url,params:params,callback:callback            });            if(posting===false){                fn();            }            return instance;        }    });    return instance;};

 

 

使用方法:

首先创建一个Ajax队列,然后为这个Ajax队列,添加需要执行的ajax操作(post操作),这些Ajax会按顺序执行,一个执行完毕之后(获得返回值),再继续执行下一个。

$.newAjaxQueue().post( [URL] , [参数] ,[回调函数] ).post( [URL] , [参数] ,[回调函数] ).post( [URL] , [参数] ,[回调函数] );

这个实现没有考虑到超时等情况,如果需要可以自己添加。

 

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
jQuery源码解读
jquery之旅-jquery的Ajax
CGB-AJAX-01
读jQuery之二十一(队列queue)
滚动加载图片(懒加载)实现原理
使用Jsonp解决跨域数据访问问题
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服