Re:V8 adds support for top-level await
by kbenson on Wednesday September 25, 2019 @01:01AM
(#21067744)
You're right that it may not be required for the async functionality (especially since lock-free schedulers exist, and the engine is basically a single processor scheduler for processes). I do think it's likely in use other places though, just because it's much easier to write correct code with one.
A mutex really can only exist to serialize async code. If you want it serialized that likely means that code shouldn't be async in the first place.