我有以下可观察的。
IObservable<MyDto> observable;
现在为了计算可观察量中的项目数,我不能使用以下代码,因为我的可观察量是热的并且长时间运行,并且永远不会调用对"计数"的订阅。
var count = observable.Count()
我希望每次物品到达时都能获得计数,这是我正在尝试做的事情
observable.Subscribe(o => Console.WriteLine(" Object received "));
observable.Count().Subscribe(c => Console.WriteLine("Current count is " + c.ToString() + " but this is not final count, more are coming"));
我怎样才能做到这一点?
使用扫描:
observable
.Scan(0, (count, _) => count + 1)
.Subscribe(count => Console.WriteLine("Current count is " + count));