将 PromiseKit 转换为 Signal 和 SignalProducer
Converting PromiseKit to Signal & SignalProducer
我正在尝试将 Promise<T>
从 PromiseKit into a ReactiveSwift SignalProducer
转换为 Promise<T>
,但我无法想出它。有人能给我指出正确的方向吗?
目前我有:
extension SignalProducer {
func from(promise: Promise<Value>) -> SignalProducer<Value, Error> {
return SignalProducer { observer, disposable in
promise.then {
observer.send(value: [=10=])
observer.sendCompleted()
}.`catch` { error in
observer.send(error: error)
}
}
}
}
我正在尝试模拟 rxjs 的 fromPromise
方法。
这是我想出来的。
extension SignalProducer where SignalProducer.Error: Swift.Error {
static func from(promise: Promise<Value>) -> SignalProducer<Value, Error> {
return SignalProducer { (observer: Observer<Value, Error>, disposable: Disposable) in
promise.then { value -> () in
observer.send(value: value)
observer.sendCompleted()
}.catch { (error: Swift.Error) -> Void in
observer.send(error: error as! Error)
}
}
}
}
我正在尝试将 Promise<T>
从 PromiseKit into a ReactiveSwift SignalProducer
转换为 Promise<T>
,但我无法想出它。有人能给我指出正确的方向吗?
目前我有:
extension SignalProducer {
func from(promise: Promise<Value>) -> SignalProducer<Value, Error> {
return SignalProducer { observer, disposable in
promise.then {
observer.send(value: [=10=])
observer.sendCompleted()
}.`catch` { error in
observer.send(error: error)
}
}
}
}
我正在尝试模拟 rxjs 的 fromPromise
方法。
这是我想出来的。
extension SignalProducer where SignalProducer.Error: Swift.Error {
static func from(promise: Promise<Value>) -> SignalProducer<Value, Error> {
return SignalProducer { (observer: Observer<Value, Error>, disposable: Disposable) in
promise.then { value -> () in
observer.send(value: value)
observer.sendCompleted()
}.catch { (error: Swift.Error) -> Void in
observer.send(error: error as! Error)
}
}
}
}