Я разрабатываю приложение android в Kotlin. После проверки формы ввода я запускаю 3 задания для одновременного выполнения 3 HTTP-вызовов:
val jobA = CoroutineScope(IO).launch {
// saves some data in my database
}
val jobB = CoroutineScope(IO).launch {
// saves an image in my aws bucket
}
val jobC = CoroutineScope(IO).launch {
// if exists, deletes the old image in my aws bucket
}
Перед запуском этих 3 заданий я запускаю анимацию загрузчика (я использую эту библиотеку: https://github.com/81813780/AVLoadingIndicatorView)
Мне нужно дождаться завершения моих 3 заданий, не замораживая пользовательский интерфейс (или, по крайней мере, анимацию).
Я пробовал использовать runBlocking, но он зависает в пользовательском интерфейсе ...
runBlocking() {
jobA!!.join()
jobB!!.join()
jobC!!.join()
}
Как я могу дождаться трех моих заданий, не замораживая пользовательский интерфейс?
Заранее спасибо, извините за мой английский sh, Thomas