美文网首页
10. RxSwift 延迟、超时、delay、timeout

10. RxSwift 延迟、超时、delay、timeout

作者: xxxixxxx | 来源:发表于2020-11-21 17:02 被阅读0次

    delay

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

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

    timeout

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

    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.)
    

    相关文章

      网友评论

          本文标题:10. RxSwift 延迟、超时、delay、timeout

          本文链接:https://www.haomeiwen.com/subject/nhdeiktx.html