我试图以给定的时间间隔在“脉冲”上发出序列。 Rx的所有内容都是新手,但我认为这样做会:
import RxSwift
let db = DisposeBag()
_ = Observable<Int>.interval(1.0, scheduler: MainScheduler.instance)
.debug("interval")
.subscribe(onNext: {
print($0)
})
.addDisposableTo(db)
但它只输出:
2017-09-25 06:12:41.161: interval -> subscribed
仅此而已。我在这里不理解什么?
答案 0 :(得分:8)
您的代码没有任何问题。处理袋应该是活的。但是,操场执行在最后一条指令运行后就会结束,因此出现问题。
为了告诉操场在执行完所有内容后继续运行,您必须导入PlaygroundSupport
并告诉该页面继续运行:
import RxSwift
import PlaygroundSupport
let db = DisposeBag()
Observable<Int>.interval(1.0, scheduler: MainScheduler.instance)
.debug("interval")
.subscribe(onNext: {
print($0)
})
.addDisposableTo(db)
PlaygroundPage.current.needsIndefiniteExecution = true