Как показать данные, пока остальные запросы ещё выполняются
Для одного экрана CardioBot нужно 40–50 запросов к HealthKit. Если собрать их результаты в один объект и только потом обновить интерфейс, пользователь будет ждать завершения всей загрузки.
В разборе Majid данные загружаются через AsyncSequence: каждый шаг возвращает накопленный снимок, а ViewModel обновляет состояние в цикле for await. Внутри отдельных шагов можно сохранить параллельные запросы через async let.
Порядок загрузки становится частью интерфейса: сначала можно получить данные для видимого раздела, затем остальные. Итератор также проверяет отмену задачи и завершает последовательность, когда работа больше не нужна.
Post #4796
576

- 💯 1