You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
19 lines
434 B
19 lines
434 B
//
|
|
// Promise+Timeout.swift
|
|
// then
|
|
//
|
|
// Created by Sacha Durand Saint Omer on 10/08/2017.
|
|
// Copyright © 2017 s4cha. All rights reserved.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
extension Promise {
|
|
|
|
public func timeout(_ time: TimeInterval) -> Promise<T> {
|
|
let timer: Promise<T> = Promises.delay(time).then {
|
|
return Promise<T>.reject(PromiseError.timeout)
|
|
}
|
|
return Promises.race(timer, self)
|
|
}
|
|
}
|