Глупость, на мой взгяд, полная, что в js нет простой функции delay, но не суть.
Есть setTimeout с выполнением какой-то функции и с остановкой при определённом условии.
В другой функции я запускаю этот setTimeout, и после его окончания необходимо выполнять последующие комманды в функции.
setTimeout у меня универсальный, поменять почти не реально (это к тому, что в там же и прописать что делать вместе с clearTimeout)
Пока что написал такую функцию для проверки (которая тоже работает с таймером, т.е. в ручную проверять не изменилось ли что):
function checkDelay(){
setTimeout(function(){
if(delayFlag) checkDelay();
else alert("done");
}, 500);
}
Но тогда такую функцию нужно прописывать для определения любого окончания работы setTimeout.