1
我想控制我的訂閱,甚至在例外的存在範圍,而使用VAR我的訂閱在RxScala中管理訂閱的最佳做法是什麼?
在接收/ F#避免我會做這個
use subscription = Observable.subscribe ...
和訂閱在離開示波器時自動處理。
斯卡拉的最佳實踐是什麼?
我想控制我的訂閱,甚至在例外的存在範圍,而使用VAR我的訂閱在RxScala中管理訂閱的最佳做法是什麼?
在接收/ F#避免我會做這個
use subscription = Observable.subscribe ...
和訂閱在離開示波器時自動處理。
斯卡拉的最佳實踐是什麼?
我的解決方案是使用scala-arm,但我不確定是否有更好的方法來做到這一點。
我添加從認購的隱式轉換到資源,並用於管理資源機構從階形臂是這樣的:
object ResourceImplicits {
implicit val subscription2Resource = new Resource[Subscription] {
override def close(s: Subscription): Unit = s.unsubscribe() }
}
//...
for (s <- managed(obs.subscribe { n => println(s"n=$n")})) {
// the subscription is alive in this scope
// ...
}
//the subscription has been unsubscribed