> В чем отличие launch от async в Kotlin Coroutines (Kotlin, Android)
Уровень: senior · Роль: mobile · Категория: Технические вопросы
Компании: MTS, Rutube, IBS
Стек: Kotlin, Android
> Пример ответа
Основное отличие launch от async в Kotlin Coroutines - это возвращаемый результат.
launch запускает корутину, которая не возвращает никакого значения (тип Job). Она используется для fire-and-forget операций, например, обновления UI или записи в базу данных.
async возвращает Deferred<T> - объект, который позволяет получить результат асинхронной операции через вызов await(). Это удобно для параллельных вычислений, когда нужно дождаться нескольких результатов.
Пример:
// launch - без результата scope.launch { doWork() } // async - с результатом val deferred = scope.async { fetchData() } val data = deferred.await() // приостанавливает корутину до получения результата
Ключевое различие: launch - для задач без возврата, async - для задач, результат которых понадобится позже.
> Похожие задачи по mobile
Какие диспетчеры бывают в Kotlin Coroutines
Что такое CoroutineExceptionHandler
Что такое reified в inline функциях Kotlin и зачем он нужен
Что такое тип Nothing в Kotlin и чем он отличается от Unit
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью