如何解决rxswift在处理之前接收最后一个元素
我有一个observable
,将在一段时间后处置。我想要的是在处理可观察对象之前获取最后一个元素。我一直在尝试,但无法为此目的找到运营商。
onDisposed
完成处理程序没有任何参数,因此在文档中我无法找到任何其他用于此目的的运算符。
selectedObservable
.subscribe(onNext: { isSelected in
//Do something
}onDisposed:{
//Somehow get the last emitted element
})
.disposed(by: disposeBag)
解决方法
您需要takeLast运算符。同样,您可以不止一次订阅一个可观察的对象,并且实际上是可以预期的。许多初学者忘记了此功能:
selectedObservable
.subscribe(onNext: { isSelected in
// do something
})
selectedObservable
.takeLast(1)
.subscribe(onNext: { lastSelected in
// this is the last value emitted
})
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。