JSFiddle - React, Tailwind, and code Playground

JavaScript

function arrayPrint(array){
    function pTimeout(i){
        return new Promise(function(res,rej){
            setTimeout(function(){
                res(array[i]);
            }, 100);
        }).then(function(res){
            console.log('index:', i, ' val:', res);
            i++;
            if(!(i<array.length)){
                return res;
            }else{
                return pTimeout(i);
            }
        });
    };
    
    return pTimeout(0);
}



var arry = [1, 2, 3, 4, 5];

arrayPrint(arry).then(function(res){
    console.log('last value is ', res);
});