I seriously doubt people writing web software are planning for intentional races in their system designs the way an OS dev does to avoid synchronization overhead.
Shouldn't be necessary if things are coded appropriately in the first place, and maybe better to just refactor, but...
If you're doing nothing with a promise (awaiting, or catching), then you have bad code.
You can read more about that here: https://palantir.github.io/tslint/rules/no-floating-promises...
> This can cause unexpected and/or non-deterministic behavior depending on external timing factors.
But, as this whole thread is about, sometimes you don't mind race conditions. So it can ok to acknowledge but ignore this advice if you are aware of how this race conditions matters to your codebase.
Learn the rules, but know when to break them.