Фото галереи после загрузки в TaskGroup встают в случайном порядке
let images = try await withThrowingTaskGroup(of: UIImage.self) { group in
for url in urls {
group.addTask { try await loader.image(from: url) }
}
var result: [UIImage] = []
for try await image in group { result.append(image) }
return result
}
Товар имеет 8 фото, первое должно быть главным. После загрузки порядок каждый раз разный. Как сохранить исходный порядок и параллельность?
- Возвращать из задачи пару: индекс и картинку
- Добавлять задачи в группу в обратном порядке
- Отсортировать картинки по размеру данных
- Ждать каждую задачу сразу после addTask
