之前用jquery实现了一个简单的AjaxQueue,用于管理ajax请求的发送顺序。
假期里没事就想着改进下,改得地方不多,主要有以下三点:
- complete回调在jquery1.5以后可以是一个函数数组,按数组顺序调用。
- 如果前一个请求未返回,新的请求发出,那么撤销前一个请求,也就是新的请求“覆盖”原请求。
- 写成面向对象的形式,再用一个AjaxManage进行简单的管理。
代码如下,详细可看注释:
其实也想再加上done,fail,always等配置,但或许会变得有点复杂,就先保持简单
这里有两个我的jsfiddle页面,一个是覆盖效果的,一个是队列效果的,可以直接测试运行。