3 ms·
A timeout would most certainly not trigger during a busy loop in JS. Timeouts can only trigger when the main thread is not running code. Browsers will complain
by jraph 6y ago
A timeout would most certainly not trigger during a busy loop in JS. Timeouts can only trigger when the main thread is not running code.
Browsers will complain against code running for too long without interruption though.
- angleofrepose 6y agoYes, as the other comments get at the "hack" I'm referring to is a loop transform that adds a timer check to the condition.
- jraph 6y agoOh, right, I was not there at all. Wow, that seems hard to do. One would need to take a lot of things in account, including recursive calls, asynchronous functions / calls and, indeed, even long strings of instructions that are not necessarily part of a loop or recursive calls. Would a transform that adds the check between every JS instructions where it is possible theoretically solve the problem? is there a solution that does not slow down the code too much and interrupts the code within an acceptable margin?
- angleofrepose 6y agoYeah! The general case of this is the halting problem... The best solution I know of is stopify, which the other comments have talked about. I just wonder if there's another take on the situation, something akin to OS task management.