是否有像StartWith这样的扩展,但用于可观察序列的结束



我想在我的可观察序列中附加一个额外的"关闭"项。是否有一个响应式LINQ扩展,就像StartWith一样,但对于一个可观察序列的结束?

下面是我想要的一个近似值,尽管它似乎没有触发最后一个元素:

public static IObservable<TSource> EndWith<TSource>(this IObservable<TSource> source, TSource element)
{
    return source.Concat(Observable.Return(element));
}

你的"近似"是正确的答案。Concat将把element添加到源流的末尾,但仅当:

    源完成
  1. 源没有错误

也许如果你没有得到它,你的source流实际上没有终止?

如果你向我们展示更多你的代码可能会更好。没有一个"开箱即用"的API方法(如StartsWith)为您做到这一点,但使用Concat + Observable.Return是一个非常合理的方式来做自己。

系统。响应包包含非标准的AppendPrepend操作符。

// Append a value to an observable sequence.
public static IObservable<TSource> Append<TSource>(this IObservable<TSource> source,
    TSource value);
// Prepend a value to an observable sequence.
public static IObservable<TSource> Prepend<TSource>(this IObservable<TSource> source,
    TSource value);

相关内容

  • 没有找到相关文章

最新更新