

The main argument, and it’s a strong one, is: YAGNI (You Ain’t Gonna Need It).
Compared to defining a function as synchronous (the default), there is a significant cost to defining a function to be async: Its signature is different, therefore every caller to that interface must also be aware the function is async; test cases must handle not just a simple return value, but a Promise; etc. etc.
So, don’t impose that cost unless you already know it’s needed, today. If you don’t need it today, the most likely expectation is You Ain’t Gonna Need It, at least not any time soon. So don’t pay the cost now for something you likely won’t get a benefit from.













Please put in the effort to write (in the post) a synposis of what you’re linking to, and why you think it’s worth visiting, before we go there.