Так результат никто нигде и не ожидает. Асинхронные функции на то и асинхронные, что их результат получить нельзя. Можно лишь передать им свой обработчик, который она выполнит по своему завершению. Promise устраняют проблему callback hell (пирамидки из вложенных функций). А async/await позволяют вообще забыть про цепочку then/catch.
Обсуждают сегодня