Array loop iterate

Call a function on each element in an array. Pause in between each element to prevent browser freeze.

by Arjan Haverkamp

JavaScript

const loopIterate = (array, callback, complete, interval = 0) => {
    let idx = 0;

    const process = () => {
        callback(array[idx]);
        if (++idx < array.length) {
        	setTimeout(process, interval);
        }
        else {
           complete();
        }
    }
    process();
};

loopIterate(
	[1, 2, 3, 4], 
  element => { 
    console.log(element);
	},
  () => {
  	console.log('done') 
  },
  1000
);