Observableを順番に処理させるサンプル

  • 0
    いいね
  • 1
    コメント

    これで良いかどうかは置いておいて、このサンプルでは5秒毎に「1,2,3」と表示して終わるサンプルです。
    あとで、僕が使うメモです。

            let a:Observable<Int> = Observable.create { observable in
                NSOperationQueue().addOperationWithBlock({ () -> Void in
                    sleep(5)
                    observable.onNext(1)
                    observable.onCompleted()
                })
                return NopDisposable.instance
            }
    
            let b:Observable<Int> = Observable.create { observable in
                NSOperationQueue().addOperationWithBlock({ () -> Void in
                    sleep(5)
                    observable.onNext(2)
                    observable.onCompleted()
                })
                return NopDisposable.instance
            }
    
            let c:Observable<Int> = Observable.create { observable in
                NSOperationQueue().addOperationWithBlock({ () -> Void in
                    sleep(5)
                    observable.onNext(3)
                    observable.onCompleted()
                })
                return NopDisposable.instance
            }
    
            a.concat(b).concat(c).subscribeNext { (value) in
                print(value)
            }