为了用 rxscala 测试我的反应程序,我需要构造这样一个Observable
:
val numberStream: Observable[Int] = Observable.???()
哪一个
- 公布号码
1
- 然后等待
1s
- 公布号码
4
- 然后等待
3s
- 公布号码
2
- 然后等待
2s
我有一个丑陋的解决方案,使用Thread
and ReplaySubject
:
val subject: Subject[Int] = ReplaySubject()
val numberStream: Observable = subject
new Thread(new Runnable {
def run = {
subject.onNext(1)
Thread.sleep(1000)
subject.onNext(4)
Thread.sleep(3000)
subject.onNext(2)
Thread.sleep(2000)
}
}).start()
有没有更好的解决方案?