= null
fun startLoadOnScreen1() {
task = async(UI) {
doJob()
}
}
fun waitForCompletionOnScreen2() {
showProgress()
launch(UI) {
try {
val result = task!!.await()
showResult()
} catch (e: Exception) {
showError()
}
}
}
Спасибо, вполне элегантное решение, попробую, а почему в одном случае вы используете async, а в другом launch, разве у них не только разница в возвращаемом объекте ? Но и в принципах работы
а если у меня есть уже Deffered от ретрофита, как мне просто запустить его загрузку, await вызвать ? т.к. сервисы ретрофита возвращают Deffered я нашел специальный адаптер
Обсуждают сегодня