【问题标题】:Can I connect a AsObservable easy to an Observer我可以轻松地将 AsObservable 连接到观察者吗
【发布时间】:2020-11-19 07:19:42
【问题描述】:

我有一个导致 IEnumerable<string> 语句的 LinQ 表达式。

我想通过 OnNext 路由到带有 ForEach() 的观察者。

现在我看到了关于使用 Reactive Extensions 而不是 ForEach 的提示,代码如下所示。

statements.ToObservable().Subscribe(
s => this.statementObserver.OnNext(new Statement(replyTo, jobId, s)));

// foreach (var s in statements)
// {
//  this.statementObserver.OnNext(new Statement(replyTo, jobId, s));
// }

这是正确的还是我可以直接将我的语句连接到 statementObserver ?

【问题讨论】:

    标签: c# observable system.reactive


    【解决方案1】:

    您可以使用您建议的任何一种方法,但这可能是更惯用的方法:

    statements
        .ToObservable()
        .Select(s => new Statement(replyTo, jobId, s))
        .Subscribe(this.statementObserver);
    

    但要小心暴露这样的观察者。打一通.OnCompleted(),你就杀死了你的对象。最好把 observable 传入,让类观察它喜欢的样子。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-25
      • 2011-06-17
      • 1970-01-01
      • 2019-06-21
      • 2010-10-27
      • 1970-01-01
      • 2016-06-25
      • 2014-01-28
      相关资源
      最近更新 更多