JSFiddle - React, Tailwind, and code Playground

by lollero

JavaScript

var promiseArray = [];
var urlParams = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
var maxLength = urlParams.length/5;
var chunks = divideArray( urlParams, maxLength );

for ( var chunkIndex=0; chunkIndex < chunks.length; chunkIndex++) {
	var urlParams = chunks[ chunkIndex ];
  console.log( 'Chunk-' + chunkIndex );
  for ( var paramIndex=0; paramIndex < urlParams.length; paramIndex++) {

    promiseArray.push(
      new Promise((resolve, reject) => {

        var urlParam = urlParams[ paramIndex ];
        var iframe = $('<iframe src="https://gist.github.com/joonaspaakko/414c4a43ac092f562e07e1642fa75dc5.pibb?val=' + urlParam + '"></iframe>');
        iframe.prependTo('body');
        iframe.on("load", function() {
          // var iframeBody = iframe.contents().find('body');
          iframe.remove();
          
				  console.log( 'Iframe-'+ urlParam );
          resolve( 'Iframe-'+ urlParam +' loaded.');
        });

      })
    )

  }
}


Promise.all( promiseArray ).then(function( result ) {
  console.log(result);
});


function divideArray( array, maxLength ) {
  var chunks = [];
  for ( var i=0; i < array.length; i+=maxLength ) {
    chunks.push( array.slice(i,i+maxLength) );
  }
  return chunks;
}