Joh*_*lds 4 .net f# system.reactive
您是否需要将返回的IDisposable分配给IObservable.Subscribe变量以保护订阅不被垃圾回收,或者是否存在足够的活动订阅?
我的用例:我从现有的observable(myObservable在示例中)中创建一次性observable :
myObservable.Take(1).Subscribe(fun v -> printfn "One-shot: %A" v) |> ignore
Run Code Online (Sandbox Code Playgroud)
是的,有效订阅的存在就足够了.GC预防的订阅引用链最终始于第一个observable的源头,因此当流源处于活动状态时,您的订阅也是活动的.如果收集了流源本身,那么您的订阅将会随之消失,但这没关系,因为无论如何都不会再次调用它.
另一方面,一旦您的订阅收到一个脉冲,.Take(1)实施将断开它与源的连接,允许它被收集.
| 归档时间: |
|
| 查看次数: |
920 次 |
| 最近记录: |