mirror of
https://github.com/oxen-io/session-ios.git
synced 2023-12-13 21:30:14 +01:00
16 lines
482 B
Swift
16 lines
482 B
Swift
import PromiseKit
|
|
|
|
internal extension Promise {
|
|
|
|
internal func retryingIfNeeded(maxRetryCount: UInt) -> Promise<T> {
|
|
var retryCount = 0
|
|
func retryIfNeeded() -> Promise<T> {
|
|
return recover(on: DispatchQueue.global()) { error -> Promise<T> in
|
|
guard retryCount != maxRetryCount else { throw error }
|
|
retryCount += 1
|
|
return retryIfNeeded()
|
|
}
|
|
}
|
|
return retryIfNeeded()
|
|
}
|
|
}
|