JSFiddle - React, Tailwind, and code Playground

by rafaelrozon

JavaScript

function getAllDataForResource(url, resource){

	var allData = [],
  	  numberOfRequests = 0,
      apiCalls = [],
      offset = 0;

  	
    $.ajax({
    	url: url,
      headers: { "x-token": 'f8440deea14187773cba33914953520830766e29' },
			type: "get"
    }).done(function(response){
    	
			var responseData = [];
      console.log('OK response');
      console.log(response);


				if (response[resource]){
					 responseData.concat(response[resource]);
        }

			 numberOfRequests = parseInt(response.Total / 1000);

      console.log(numberOfRequests);

      for(var i = 0; i <  numberOfRequests; i++){
        offset = (i + 1) * 1000;
        apiCalls.push(
          $.ajax({
            url: url + '?limit=1000,' + offset,
            headers: { "x-token": 'f8440deea14187773cba33914953520830766e29' },
            type: "get"
          }).done(function(response){
						console.log('done');
            						console.log(response);
            if (response[resource]){
					  responseData.concat(response[resource]);
        	}
					}).fail(function(response){
            console.log(response);
          })
        );
      }

      $.when.apply($, apiCalls).then(function(all){
				console.log('all');
				console.log(responseData);
        return responseData;
      }).done(function(data){
      	console.log('apply done');
              	console.log(data);
      });
    
     
      }).fail(function(response){
    	console.log('fail response');
      console.log(response);
    
    });
  
  
 }

console.log(getAllDataForResource('https://api-dev.colonynetworks.com/v1/siteaccesslevels', 'SiteAccessLevels'));