Почему так 👇
и являются асинхронными, поэтому в данном случае вызовутся не сразу и не по порядку.
Через 200 миллисекунд первый раз вызовется . Затем он будет вызываться каждые 200 миллисекунд, и пока будет , переменная будет увеличиваться на 1 и выводиться в консоль.
А через 2 секунды вызовется , в котором станет , и условие в перестанет выполняться.
setTimeout
setInterval
Через 200 миллисекунд первый раз вызовется
setInterval
x
true
count
А через 2 секунды вызовется
setTimeout
x
false
setInterval