【问题标题】:C# Reactive Extensions - Iterate through items of IObservable<List<Item>>C# 反应式扩展 - 遍历 IObservable<List<Item>> 的项目
【发布时间】:2016-05-16 18:18:11
【问题描述】:

我最近开始使用 C#rx 版本,想知道如何解决以下问题:

我正在使用refit 通过以下方式从服务器获取项目列表:

[Get("/items")]
IObservable<List<Item>> GetItems();

我想在之后处理每个项目,但我不知道该怎么做。我知道在 RxJava 中有一个名为 flatMapIterable() 的运算符,它允许我处理每个项目,但我没有找到 C# 类似的东西。

谢谢

【问题讨论】:

  • 抱歉,现在已经完成了,谢谢 :)

标签: c# system.reactive rx.net


【解决方案1】:

根据文档,您需要.SelectMany

[Get("/items")]
IObservable<List<Item>> GetItems() 
{
    observable.SelectMany(t => t);
}

Rx.NET repo,你可以看看源码的实现——如果你感兴趣的话。

【讨论】:

    【解决方案2】:

    你需要SelectMany();

    IObservable<List<Item>> observable = new List<List<Item>>().ToObservable();
    var flattened = observable.SelectMany(i => i);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多