getting dispatch to main thread as close to the listener as possible to allow quickest change
This commit is contained in:
@@ -28,14 +28,16 @@ class FirestoreService {
|
||||
return
|
||||
}
|
||||
|
||||
guard let updatedOrNewUser = try? document.data(as: User.self)
|
||||
else {
|
||||
completion(nil)
|
||||
print("Document data was empty. tried fetching updated user document in firestore service")
|
||||
return
|
||||
DispatchQueue.main.async {
|
||||
guard let updatedOrNewUser = try? document.data(as: User.self)
|
||||
else {
|
||||
completion(nil)
|
||||
print("Document data was empty. tried fetching updated user document in firestore service")
|
||||
return
|
||||
}
|
||||
// up to date user
|
||||
completion(updatedOrNewUser)
|
||||
}
|
||||
// up to date user
|
||||
completion(updatedOrNewUser)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -136,11 +136,9 @@ final class AuthSessionStore: ObservableObject, SessionStore {
|
||||
|
||||
// when we have a user get signed in, we can activate the listener for fetching the user's data to keep our auth session store always up to date for all of the ui
|
||||
self.firestoreService.getUserRealtime(userId: uid) {[weak self] realtimeUpdatedUser in
|
||||
DispatchQueue.main.async {
|
||||
if realtimeUpdatedUser != nil {
|
||||
print("up to date user: \(realtimeUpdatedUser)")
|
||||
self?.user = realtimeUpdatedUser
|
||||
}
|
||||
if realtimeUpdatedUser != nil {
|
||||
print("up to date user: \(realtimeUpdatedUser)")
|
||||
self?.user = realtimeUpdatedUser
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user