Comments (2)
Task {
let images = await withTaskGroup(of: [UUID: UIImage?].self) { group in
var results = UUID: UIImage?
for entry in imageTemplates { // Assuming `imageTemplates` is of type `[(uuid: UUID, url: URL)]`
group.addTask {
do {
return try await withCheckedThrowingContinuation { continuation in
KingfisherManager.shared.retrieveImage(
with: .network(entry.url),
options: kingfisherHeadersOptions, // Headers for CDN
progressBlock: nil,
downloadTaskUpdated: nil
) { result in
switch result {
case .success(let imageResult):
continuation.resume(returning: [entry.uuid: imageResult.image])
case .failure(let error):
print("Error loading image: \(error)")
continuation.resume(returning: [entry.uuid: nil]) // Consider how you want to handle errors.
}
}
}
} catch {
print("Encountered error: \(error)")
return [entry.uuid: nil] // Or handle differently as needed.
}
}
}
for await dict in group {
results.merge(dict) { $1 }
}
return results.compactMapValues { $0 } // Remove nil values if they are not needed.
}
// Do something with `images`
}
@b-onc try this i don't know if it will work
from kingfisher.
We don't have a problem with error handling
from kingfisher.
Related Issues (20)
- Upload Privacy Policy HOT 2
- KingfisherManager.shared warning on Xcode 15.3 with Strict Concurrency Checking set to complete HOT 4
- Crash at ImageContext.swift line 84. EXC_BAD_ACCESS (SIGSEGV) HOT 1
- Race Condition in ImageDownloader.addDownloadTask HOT 1
- Some Crashs On iPad5.3
- CPListItem' is only available in iOS 12.0 or newer HOT 1
- 同一个cacheKey有不用的downloadURL,主要是加入size控制,如何实现同一cacheKey只缓存size更大的图片数据呢
- [Question] Show a stub ONLY after attempt to load image by URL. HOT 1
- SwiftUI中如何使用progressiveJPEG
- Memory issue
- How do I add suffixes to cache paths, such as.jpg HOT 2
- Undefined symbols for architecture arm64: HOT 1
- ingfisherWebP 在iOS16.7.7 系统中,加载webp 图片不会动,在其他系统中没问题 HOT 1
- Disk Cache can grow significantly larger than 'sizeLimit' HOT 4
- dyld[769]: Library not loaded: @rpath/lib/libswiftCoreGraphics.dylib HOT 1
- No trust evaluation handling after receiving the authentication challenge HOT 1
- No exact matches in call to instance method 'retrieveImage' HOT 1
- 【QUESTION】Kingfisher In Memory Graph HOT 5
- 使用ResizingImageProcessor Crash HOT 5
- SessionDelegate.urlSession(_:dataTask:didReceive:)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kingfisher.