хотел сделать рекурсивно.
setTimeout не обрабатывался пока не завернул свою функцию и анонимную функцию.
// массив елементор
var mans = document.querySelectorAll('.man');
function paintBG(elemsArray,startNum,timeoutMs,classSrt) {
elemsArray[startNum].classList.add(classSrt);
if(elemsArray[++startNum]){
setTimeout(()=>{paintBG(elemsArray,startNum,timeoutMs,classSrt)
},timeoutMs);
}
else{
return console.log('end');
}
};
paintBG(mans,0,500,'man_red');