File tree Expand file tree Collapse file tree
Application/DevLogInfra/Sources/Service Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -74,10 +74,13 @@ final class WebPageMetadataServiceImpl: WebPageMetadataService {
7474 private func extractImageURL( from imageProvider: NSItemProvider ? , url: URL ) async throws -> URL ? {
7575 guard let imageProvider else { return nil }
7676
77+ guard let data = try await imageData ( from: imageProvider) else { return nil }
78+ return try await imageStore. saveImage ( data, for: url)
79+ }
80+
81+ private func imageData( from imageProvider: NSItemProvider ) async throws -> Data ? {
7782 return try await withCheckedThrowingContinuation { continuation in
78- // `[imageStore]`은 배열이 아니고 캡쳐 리스트
79- // 명시적으로 imageStore을 캡쳐하겠다고 작성한 것
80- imageProvider. loadObject ( ofClass: UIImage . self) { [ imageStore] image, error in
83+ imageProvider. loadObject ( ofClass: UIImage . self) { image, error in
8184 if let error {
8285 continuation. resume ( throwing: error)
8386 return
@@ -89,14 +92,7 @@ final class WebPageMetadataServiceImpl: WebPageMetadataService {
8992 return
9093 }
9194
92- Task {
93- do {
94- let fileURL = try await imageStore. saveImage ( data, for: url)
95- continuation. resume ( returning: fileURL)
96- } catch {
97- continuation. resume ( throwing: error)
98- }
99- }
95+ continuation. resume ( returning: data)
10096 }
10197 }
10298 }
You can’t perform that action at this time.
0 commit comments