RxSwift-延迟、超时、delay、timeout
xxxixxxx

delay

对所有发送事件(包括onCompleted)后延迟 n 秒接收

1
2
3
4
5
let ob = PublishSubject<String>()
ob.delay(RxTimeInterval.seconds(2), scheduler: MainScheduler.asyncInstance).subscribe { event in
print(event)
}.disposed(by: disposeBag)
ob.onNext("发送了")

timeout

设置超时时间,超过规定时间的事件将发送 error

1
2
3
4
5
6
7
8
9
10
let ob = PublishSubject<String>()
ob.timeout(RxTimeInterval.seconds(3), scheduler: MainScheduler.instance).subscribe { event in
print(event)
}.disposed(by: disposeBag)
ob.onNext("发送1")
DispatchQueue.global().asyncAfter(deadline: .now() + 4) {
ob.onNext("超时发送")
}
//next(发送1)
//error(Sequence timeout.)
  • Post title:RxSwift-延迟、超时、delay、timeout
  • Post author:xxxixxxx
  • Create time:2020-11-20 00:00:00
  • Post link:https://xxxixxx.github.io/2020/11/20/200-RxSwift-延迟、超时、delay、timeout/
  • Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.
 Comments