I would also consider the size of the project and its volume, for example, if its small project then simply uses a simple, non-asynchronous one, it is less than code and easier to maintain, and most of the small operations take place in milliseconds.
If you need high performance, go to async, write additional code and get a better user interface.
Or maybe just use async for large operations and non-asynchronous for small ones?
I believe that these are different for each project, and sometimes you can use a mixed approach to IMHO.
source share