我是一名有用的助手,可以为您翻译文本。
我希望你能够将这个服务转换成Rx Observable,该服务具有以下接口:
我的想法是使用rx让消费者订阅更新。实现方式是每隔x秒轮询服务并调用观察者。
我想到了以下解决方案。
问题是我希望观察者看到一个
我希望你能够将这个服务转换成Rx Observable,该服务具有以下接口:
IEnumerable<Price> FetchUpdatedPrices()
{
//do work to return changed data since last update
}
我的想法是使用rx让消费者订阅更新。实现方式是每隔x秒轮询服务并调用观察者。
我想到了以下解决方案。
public IDisposable Subscribe(IObserver<IEnumerable<Price>> observer)
{
IObservable<IEnumerable<Price>> updatedPrices = Observable.Interval(new TimeSpan(0, 0, 1))
.Select(r => FetchUpdatedPrices());
return updatedPrices.Subscribe(observer);
}
问题是我希望观察者看到一个
IObservable<Price>
而不是IObservable<IEnumerable<Price>>
。有没有人能给这个Rx新手一些指针如何做到这一点?
IObservable<Price> updatedPrices = Observable.Interval(new TimeSpan(0, 0, 1)).SelectMany(r => FetchUpdatedPrices().ToObservable());
吗? - Enigmativity