为了用 rxscala 测试我的反应程序,我需要构造这样一个Observable:
val numberStream: Observable[Int] = Observable.???()
哪一个
- 公布号码
1 - 然后等待
1s - 公布号码
4 - 然后等待
3s - 公布号码
2 - 然后等待
2s
我有一个丑陋的解决方案,使用Threadand 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()
有没有更好的解决方案?