var x = false;
var c = false;
setTimeout(function() {x = true; alert('from timeset ' + x);}, 1000);
while(!c) { c = x; }
В JS нет многопоточности, и цикл не передаст управление следующему ивенту пока не выполнится. Более подробнее про eventloop можно посмотреть тут.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости