Rx:从具有不同类型的可观察对象创建后续可观察对象(链接观察者)
Rx: Create a subsequent observable from an observable with a different type (Chaining observers)
我们遇到这样一种情况,即对服务的方法调用 returns 一个 IObservable<T1>
但我们的客户期望一个 IObservable<T2>
。将 T1 转换为 T2 很简单。
Rx 中是否有允许这样做的东西? (即链接观察者)
我知道我可以手动创建一个辅助观察者,然后监听原始观察者的变化并使用新类型转发它们,但想知道是否有更简洁的方法来做到这一点?
非常感谢,
您可以使用 Select
将 IObservable<T1>
转换为 IObservable<T2>
IObservable<T2> stream = service.MethodCall().Select( TrivialConversion );
private T2 TrivialConversion( T1 param )
{
return new T2( param );
}
我们遇到这样一种情况,即对服务的方法调用 returns 一个 IObservable<T1>
但我们的客户期望一个 IObservable<T2>
。将 T1 转换为 T2 很简单。
Rx 中是否有允许这样做的东西? (即链接观察者)
我知道我可以手动创建一个辅助观察者,然后监听原始观察者的变化并使用新类型转发它们,但想知道是否有更简洁的方法来做到这一点?
非常感谢,
您可以使用 Select
IObservable<T1>
转换为 IObservable<T2>
IObservable<T2> stream = service.MethodCall().Select( TrivialConversion );
private T2 TrivialConversion( T1 param )
{
return new T2( param );
}