Каждый раз, когда запускается обработчик тайм-аута, он запускает «i» обратно с нуля.
Проблема с вашим циклом «for» в основном заключается в том, что вы не должны использовать цикл «for»: -)
Эти 10 итераций происходят при первом проходе через функцию.После этого первого прохода «i» будет равно 10, поэтому условие «если» отменит таймаут.Однако эта проверка «если» выполняется только в начале функции, поэтому цикл всегда будет завершать 10 итераций.
Если вы хотите иметь только четыре итерации таймера (или пять или что-то еще),Вы просто отключили бы цикл for и добавили i++;
после сообщения журнала консоли.Таким образом, при запуске таймер выдаст один вывод журнала, а когда это произойдет столько раз, сколько вы захотите, он остановится.