问题描述
我有一个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
})