JSFiddle - React, Tailwind, and code Playground

JavaScript

Function.prototype.async = function () {
    setTimeout.bind(window, this, 0).apply(window, arguments);
};

function forEach(array, funct, callback) {
    if (array.length)
    funct.async(array[0], forEach.bind(null, array.slice(1), funct, callback));
    else callback();
}

var a = [2, 3, 5];

forEach(a, function (element, next) {
    alert(element);
    next();
}, done);

alert(7);

function done() {
    alert(a);
}