Kotlin码:
fun <T> Observable<T>.circuitBreaker(): Observable<T> {
val relay = PublishRelay.create<T>()
this.subscribe(relay)
return relay.toFlowable(BackpressureStrategy.LATEST).toObservable()
}上面是一个Kotlin代码,我正试图将它转换成Swift。但是,我遇到了一个错误:不能将'PublishRelay‘类型的值转换为预期的参数类型(Event<_>) -> ->’
Swift代码:
extension Observable {
func circuitBreaker<T>() -> Observable<T> {
let relay = PublishRelay<T>()
self.subscribe(relay)
return relay.asObservable()
}
}任何帮助都将不胜感激。
发布于 2018-05-22 10:20:39
我是用下面的方法做的:
extension Observable {
func circuitBreaker<T>() -> Observable<T> {
let relay = PublishSubject<T>()
_ = self.subscribe { (event: Event<Element>) in
if let event = event as? Event<T> { relay.on(event) }
}
return relay.asObservable()
}
}发布于 2017-11-08 13:22:59
不能将和Observable绑定到Relay。参见相关讨论这里。
https://stackoverflow.com/questions/47173475
复制相似问题