У меня есть сервис, который я хотел бы превратиться в гх наблюдаемуюКак вы веер наблюдаемых с реактивными расширениями
Служба имеет интерфейс
IEnumerable<Price> FetchUpdatedPrices()
{
//do work to return changed data since last update
}
Моей идеи заключался в использовании ого в разрешить потребителю подписываться на обновления. Реализация будет опросить службу каждые х секунд и вызвать наблюдателя.
я придумал следующую
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 любые указатели о том, как это сделать ?
Простой, как спасибо, думаю, я был уставшим, если смотреть на это:. S – Fen
Если это не 'IObservable updatedPrices = Observable.Interval (новый TimeSpan (0, 0, 1)) SelectMany (г => FetchUpdatedPrices(). ToObservable()); '? –
Enigmativity
Бросьте в Multicast, хотя, или каждый абонент получит свой собственный таймер –