У меня есть сервис, который я хотел бы превратить в rx наблюдаемый
Сервис имеет интерфейс
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 noob какие-либо указания о том, как это сделать?