ディレイ
- 観察可能なオペレータのすべての要素は、それらを送信する前に遅延時間の良い期間を設定する必要があります
Observable.of(1,2,3,4)
.delay(5, scheduler: MainScheduler.instance)
.subscribe(onNext: { print($0) })
.disposed(by: bag)
delaySubscription
- オペレータは、遅延を購読することができます。設定した時間が経過した後、すなわち、魚のサブスクリプション操作が観測
Observable.of(1,2,3,4)
.delaySubscription(3, scheduler: MainScheduler.instance)
.subscribe(onNext: { print($0) })
.disposed(by: bag)
マテリアライズ
- イベントはオペレーター配列を生成することができる、元素に換算
- 一般的に限ら観察可能onNext 0以上のイベントを生成、または最後にはonError onCompletedイベントを生成します。これらの演算子はすべてによって生成された観察可能なイベントは、元素に変換マテリアライズされます、そして送り出します
Observable.of(1,2,3,4)
.materialize()
.subscribe(onNext: { print($0) })
.disposed(by: bag)
マテリアライゼーション解除
- オペレーターの役割とは逆を具現化、低減素子を具現するために変換することができます
Observable.of(1,2,3,4)
.materialize()
.dematerialize()
.subscribe(onNext: { print($0) })
.disposed(by: bag)
タイムアウト
- 演算子を使用してタイムアウトを設定することができる。ソース観測ない要素は所定時間内に発生した場合、それがタイムアウトエラーイベントを生成します
時間= [せ
1、 "時間":0]、[ "値"
[ "値":2、 "時間":0.5]、
[ "値":3、 "時間":1.0]、
[ "値" :4、 "時間":1.5]、
[ "値":5、 "時間":5]、
[ "値":6、 "時間":6]
Observable.from(times)
.flatMap { item in
return Observable.of(Int(item["value"]!))
.delaySubscription(Double(item["time"]!), scheduler: MainScheduler.instance)
}
.timeout(2, scheduler: MainScheduler.instance) // 超过2秒没有发出元素, 则产生error事件
.subscribe(onNext: { print($0) }, onError: {print($0)})
.disposed(by: bag)