Ответ
Deferred в Kotlin является наследником интерфейса Job из корутин. Он расширяет Job, добавляя возможность завершения с результатом (T) или исключением.
Пример:
val deferred: Deferred<String> = async {
delay(1000)
"Result"
}
println(deferred.await()) // "Result"
Ключевые особенности:
- Может быть отменен, как
Job. - Предоставляет
await()для получения результата. - Может завершиться с исключением (если корутина выбросила ошибку).