.task / Task в кнопках вызывают async API; результаты публикуют на MainActor в @Published/@Observable свойства.
Разбор
@MainActor на VM для UI-state.
- Отмена task при уходе с экрана.
- Не используйте
Task.detached для UI-обновлений без возврата на main.
- AsyncImage — частный случай.
Итог
async/await + task modifier — идиоматичная загрузка данных для экранов.