Я вот задумываюсь, какой смысл от асинхронности, если все исполняется в одном потоке, если начал делать асинхронный сценарий, то его и приходится поддерживать, а смысла особого не меняется, код перешёл к исполнению в очереди событий так же синхронно. Разве что использовать асинхронности для отложенных задач, или разбиение каких либо сложных вычислений поэтапно выделяя по немного времени на тяжёлую задачу.