удивляться?
После нажатия CTRL+C срабатывает функция, running становится false, цикл завершается. С @ts-ignore всё работает. Понимаю что от TS'ского компилятора ждать чего-то уровня Rust не стоит, но хотелось бы
Ну укажи её тип при объявлении
У тебя while же будет постоянно работать, и никакой другой код не сработает
Так с типом проблем нет. Он уверен что running false никогда не станет
Не станет, всё так. А кто уверен?
В цикле есть и другой код, не относящийся к этой логике. Вы process.on("SIGINT", () => {running = false)}); Специально игнорируете? Он спокойно исполняется и меняет значение
Компилятор TypeScript, или как он у вас называется
Какой тип у переменной running?
Boolean
Да меняет, но после этого же больше никакой код не работает, процесс вырубается, нет?
Извиняюсь, упростил, не думал что это влияет. У меня тоже самое, но вместо Boolean, enum. С Boolean вроде работает
Вряд ли process.on волшебным образом прервет синхронный код, если в while нет await
Не знаю что у JS в runtime, может фоном проверяет нажатия. В любом случае внутри действительно есть вызовы асинхронных функций, вместе с await соответственно
Обсуждают сегодня