Fix async database transaction handling

pull/213/head
nielsandriesse 6 years ago
parent 146329627f
commit 326056c53d

@ -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