Два async с немедленным ожиданием: сколько займёт загрузка
Экран профиля грузит две независимые вещи, каждый запрос идёт примерно секунду:
viewModelScope.launch {
val user = async { api.getUser() }.await()
val orders = async { api.getOrders() }.await()
_state.value = Content(user, orders)
}
Сколько примерно займёт загрузка экрана?
- Около 2 секунд: ожидание сразу после запуска делает выполнение последовательным
- Около 1 секунды при условии, что оба запуска уйдут на диспетчер ввода-вывода
- Около 1 секунды: async всегда выполняет запросы параллельно
- Около 2 секунд, потому что клиент сети не умеет выполнять запросы одновременно
