Хотелось бы узнать, какое решение является лучшим при использовании асинхронного программирования.Какой мне следует использовать?
Всегда используйте async/await для асинхронных задач.
async/await
Выход должен использоваться только для функций генератора.Прочитайте эту статью о том, когда и как использовать (это стоит времени).