Quick Test

by darcyclarke

JavaScript

(function(window, document, undefined){
    
    var Queue = {};
        Queue.queue = [];
        Queue.remove=function(a,b){for(var c=0;c<a.length;c++){if(a[c]===b){a.splice(c,1);return true}}return false};Queue.ajax=function(a){a=jQuery.extend({dequeue:function(){Queue.ajaxDequeue(this.id)},id:((new Date).getTime()+""+Math.floor(Math.random()*1e6)).substr(0,18),action:false,queue:false},a);Queue.queue[a.id]=a;if(a.action!==false){if(Queue.queue[a.action]===false||Queue.queue[a.action]===undefined||a.queue===false){if(a.queue===false&&Queue.queue[a.action][0].abort){Queue.queue[a.action][0].always(function(){});Queue.queue[a.action][0].abort()}Queue.queue[a.action]=[]}Queue.queue[a.action].push(a.id);if(Queue.queue[a.action].length===1){Queue.ajaxRun(a.action);return Queue.queue[a.id]}return Queue.queue[a.id]}else{Queue.queue[a.id]=jQuery.ajax(a);return Queue.queue[a.id]}};Queue.ajaxRun=function(a){jqXHR=Queue.queue[Queue.queue[a][0]]=jQuery.ajax(Queue.queue[Queue.queue[a][0]]);jqXHR.always(function(){Queue.remove(Queue.queue,Queue.queue[Queue.queue[a][0]]);Queue.queue[a].splice(0,1);if(Queue.queue[a].length>=1){Queue.ajaxRun(a)}});jqXHR.dequeue=function(){Queue.ajaxDequeue(Queue.queue[a][0])};return jqXHR};Queue.ajaxDequeue=function(a){Queue.remove(Queue.queue,Queue.queue[a]);if(Queue.queue[a].abort){Queue.queue[a].abort()}if(Queue.queue[a].action!==false){Queue.remove(Queue.queue[Queue.queue[a].action],a)}}    
    // Run tests
    var results = [],
        count = 0,
        limit = 3,
        isSuccessful = false;
    for(var i=0;i<=limit;i++){
        results[i] = Queue.ajax({
            action: "ping_feed",
            queue: true, 
            timeout: 10000,
            url: "http://posidn-api.cnet.com/rest/v1.0/cbsNews60ChromeRecSeg?partTag=60Chrome&sortDesc=true&categoryIds=504143,504144,504145,504146,504147,504148,504483,504865&viewType=json", 
            dataType: "jsonp",
            success: function(){
                console.log('s');
        ...