Узнайте, как правильно возвращать значения из асинхронных функций JavaScript с помощью колбэков, промисов и async/await. Исправьте проблему с undefined возвращаемым значением на практических примерах.