【发布时间】:2017-10-13 11:14:18
【问题描述】:
我有一个Observable<Bool>,它在操作开始时发出true,在操作结束时发出false。我想在操作进行时显示一条消息,但前提是它需要超过两秒钟才能开始。有没有办法可以创建一个可以将消息绑定到的可观察对象?非常感谢任何帮助!
【问题讨论】:
我有一个Observable<Bool>,它在操作开始时发出true,在操作结束时发出false。我想在操作进行时显示一条消息,但前提是它需要超过两秒钟才能开始。有没有办法可以创建一个可以将消息绑定到的可观察对象?非常感谢任何帮助!
【问题讨论】:
如果你 switchMap(一个 flatMap,当从源发出第二个项目时,对原始 observable 的订阅被取消订阅并且订阅移动到下一个)你可以这样做:
注意 switchMap 在 RxSwift 中是 'switchLatest'。
可能变成这样:
booleanObservable
.map { inProgress -> Observable<Bool> in
if inProgress {
return Observable.just(true).delay(time: 2)
} else {
return Observable.just(false)
}
}
.switchLatest()
【讨论】: