- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
问题
我正在将一个使用 RxJava 的项目移植到 RxSwift。有一个使用 autoconnect() 的 ConnectableObservable。我如何将其移植到 RxSwift?我正在寻找类似的功能或解决方法。
信息
我想在 RxSwift 中使用 refcount() ,但是一旦订阅者数量变为 0,它将停止在 autoconnect() 继续的地方。根据这些release notes ,autoConnect 的工作原理与 refCount 的前半部分类似,或者更准确地说,它的行为与 refCount() 类似,只是当订阅者丢失时它不会断开连接。
最佳答案
我采纳了 @akamokd 的建议,我只是创建了自己的建议。因为我只需要 autoConnect() 这非常简单。
extension ConnectableObservableType {
func autoconnect() -> Observable<E> {
return Observable.create { observer in
return self.do(onSubscribe: {
_ = self.connect()
}).subscribe { (event: Event<Self.E>) in
switch event {
case .next(let value):
observer.on(.next(value))
case .error(let error):
observer.on(.error(error))
case .completed:
observer.on(.completed)
}
}
}
}
}
关于swift - RxSwift ConnectableObservable 缺少自动连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48124144/
我有一个可观察的对象,它可以发挥一些魔力,并且我将它用作 Activity 范围中的单例。因此,想要获取更新的人可以订阅并获得最后的排放值和新的排放量。 Observable currentZoneO
所以我有一个游戏服务器,每个玩家都有一个计时器,比如: this.player.Timer = from tick in TimerPublisher where tick % 1 == 0 sele
在我的应用程序中,我需要在应用程序启动后立即加载大量数据。另外,当数据加载到某些 fragment/Activity 中时,我需要接收一个事件。 我正在使用 RxJava ConnectableObs
问题 我正在将一个使用 RxJava 的项目移植到 RxSwift。有一个使用 autoconnect() 的 ConnectableObservable。我如何将其移植到 RxSwift?我正在寻找
所以我有一个接收字符串的 ConnectableObservable,我需要为每个字符串执行查询(异步)并等待结果返回 目前我正在使用闩锁等待查询返回,但可观察到它卡住了或者只是完成了第一个字符串而没
我正在尝试从“断开连接”部分复制示例代码 here . Disconnecting As we saw in connect's signature, this method returns a Su
val observable = Observable(...) .publish val subscription = observable.connect observable.doOns
我对 ConnectableObservable 的用例感到好奇,并认为将昂贵的排放从冷可观察对象(如从数据库查询)转换为热排放可能会有所帮助。这样就可以避免昂贵的重播,并且可以将一组发射推送给所有运
我必须承认,我正在使用 Angular2 迈出第一步,我在这里遇到了一个问题,我对此有一些理解上的问题。我使用的是 angular2@2.0.0-beta.0,它依赖于 rxjs@5.0.0-beta
Angular 6 需要更新到 RxJs 6,随着 RxJs 更新,Observable.publish() 函数消失了。我在 RxJs/operators 中找到了一个 publish 操作符,但我
我是一名优秀的程序员,十分优秀!