diff --git a/firefox-ios/Storage/Rust/RustPlaces.swift b/firefox-ios/Storage/Rust/RustPlaces.swift index 7d44032ad145..d1b8d92bd33d 100644 --- a/firefox-ios/Storage/Rust/RustPlaces.swift +++ b/firefox-ios/Storage/Rust/RustPlaces.swift @@ -139,7 +139,6 @@ public class RustPlaces: BookmarksHandler, HistoryMetadataObserver { return deferred } - @discardableResult private func withReader( _ callback: @escaping(_ connection: PlacesReadConnection) throws -> T ) -> Deferred> { @@ -203,11 +202,14 @@ public class RustPlaces: BookmarksHandler, HistoryMetadataObserver { } public func countBookmarksInTrees(folderGuids: [GUID], completion: @escaping (Result) -> Void) { - withReader { connection in - do { - let count = try connection.countBookmarksInTrees(folderGuids: folderGuids) + let deferredResponse = withReader { connection in + return try connection.countBookmarksInTrees(folderGuids: folderGuids) + } + + deferredResponse.upon { result in + if let count = result.successValue { completion(.success(count)) - } catch { + } else if let error = result.failureValue { completion(.failure(error)) } }