Please don't forget that the whole point of my comment was that threads are broken in JS.
That's new. Here I thought it was this:
This means that when processing one action of the user (especially if it is a complicated action), the user interface will temporarily freeze.
Which is, of course, total nonsense.
For example, a simple "for" loop turns into a monster of functions calling eachother, in order to break the inside of the for-loop into small chunks that can't lock the UI. Now imagine a doubly-nested for-loop. You'd need special compilers to keep your code clean.
Which is also total nonsense. I'm sorry, but your assumptions simply don't match reality. Where did you come up with this stuff?
Again, I recommend you go do some reading about asynchronous programming and event-driven programming.