Rys*_*gan 2 c# system.reactive observable
我知道如何创建一个observable并分配一个处理动作:
Observable.Create(o =>
{
// o.OnNext etc.
return Disposable.Create(() => { /* ... */ });
});
Run Code Online (Sandbox Code Playgroud)
但是现在我从查询语法中产生了一个observable:
var observable = from x in otherObservable
select x;
Run Code Online (Sandbox Code Playgroud)
如何为此类查询分配处理操作?
如果我理解正确,那么无论何时处理订阅,您都希望"链接"或"收听".一种方法是使用这样的Finally运算符IObservable<T>:
var ob = from x in Observable.Interval(TimeSpan.FromSeconds(1))
select x;
// Use Finally to create an intermediate IObservable
var disposeSub = ob.Finally(() => Console.WriteLine("disposed"));
// Subscribe to the intermediate observable instead the original one
var yourSub = disposeSub.Subscribe(Console.WriteLine);
// Wait for some numbers to print
Thread.Sleep(TimeSpan.FromSeconds(4));
// "disposed" will be written on the console at this point
yourSub.Dispose();
Run Code Online (Sandbox Code Playgroud)
希望有所帮助!
| 归档时间: |
|
| 查看次数: |
1311 次 |
| 最近记录: |