diff options
Diffstat (limited to 'Firestore/Source/Util/FSTDispatchQueue.m')
-rw-r--r-- | Firestore/Source/Util/FSTDispatchQueue.m | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/Firestore/Source/Util/FSTDispatchQueue.m b/Firestore/Source/Util/FSTDispatchQueue.m index 8c953fe..2c8ee55 100644 --- a/Firestore/Source/Util/FSTDispatchQueue.m +++ b/Firestore/Source/Util/FSTDispatchQueue.m @@ -58,7 +58,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)dispatchAfterDelay:(NSTimeInterval)delay block:(void (^)(void))block { dispatch_time_t delayNs = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delay * NSEC_PER_SEC)); - dispatch_after(delayNs, self.queue, block); + dispatch_after(delayNs, self.queue, ^() { + // Make sure that we prioritize tasks that are already queued for immediate execution. + [self dispatchAsyncAllowingSameQueue:block]; + }); } #pragma mark - Private Methods |