Нет причин для запуска события по истечении времени бесконечности. Это приведет к тому, что события останутся в стеке навсегда, и они могут накапливаться.
Правильный подход:
let booleanFlag = false;
// do somethinghing that can change "booleanFlag" value
function triggerThisOnSomeEvent(booleanFlag) {
if (booleanFlag) {
// Handle event
}
}