Асинхронная функция - это функция, которая работает асинхронно через цикл обработки событий, используя неявное Promise для возврата своего результата. А оператор ожидания служит для ожидания обещания. Он может использоваться только внутри асинхронной функции.
Таким образом, в этом примере пользователь async / await «ожидает», пока функция User.findById () не вернет результат, каким он будет где-то в будущем, и это достигается с помощью ключевого слова await.
Предлагаю посмотреть это видео о цикле событий , чтобы лучше понять, как работает асинхронный JavaScript.
Также я настоятельно рекомендую вам прочитать документацию MDN.
async / , ожидают
И читайте про Обещания
Если у вас возникнут дополнительные вопросы, я буду рад вам помочь.