Fix async database transaction handling

pull/214/head
nielsandriesse 5 years ago
parent f1ec7e67b1
commit 1b45a50fe2

@ -53,9 +53,9 @@ public final class Storage : NSObject {
public static func write(with block: @escaping (YapDatabaseReadWriteTransaction) -> Void, completion: @escaping () -> Void) -> Promise<Void> { public static func write(with block: @escaping (YapDatabaseReadWriteTransaction) -> Void, completion: @escaping () -> Void) -> Promise<Void> {
let (promise, seal) = Promise<Void>.pending() let (promise, seal) = Promise<Void>.pending()
serialQueue.async { serialQueue.async {
owsStorage.dbReadWriteConnection.readWrite(block) owsStorage.dbReadWriteConnection.readWrite { transaction in
DispatchQueue.main.async { transaction.addCompletionQueue(DispatchQueue.main, completionBlock: completion)
completion() block(transaction)
} }
seal.fulfill(()) seal.fulfill(())
} }

Loading…
Cancel
Save