Re:Threads Are a Bad Idea for Most Purposes (1995) [pdf]
by kragen on Tuesday January 28, 2020 @04:55PM
(#22174489)
There were thread-safe JS interpreters, in early versions of Opera for example. But without locks it was going to be impossible to write thread-safe JS. The arguments of Ousterhout and Miller may or may not have been an influence in 2000 but certainly they were in 2010. You might be interested in Miller's dissertation.
Async/await has also mostly replaced bare Promises. The result almost gives you something as usable as threads.
Fwiw I find it amusing the async is promoted as the pinnacle of elegance in concurrent programming when in reality it exists because the JS interpreter wasn't thread safe.