Chi*_*hip 1 c# system.reactive
今天我终于偶然发现了一个非常简单的 RX 问题的解决方案:假设你有一个 Observable,它返回项目列表。喜欢
Observable<List<String>>。您经常会从 Web API 收到类似这样的响应。
但是,您可能希望对单个项目进行操作,在本例中是字符串。
flatMapIterable来救援!这个方便的运算符通过映射函数Iterables将一个流扁平化为从这些单个项目生成的流Iterables。
如果这很重要,我正在用 .NET Core 编写。
实施例在RxJava:转换Observable<List<Car>>到的序列Observable<Car>中RxJava
将项目集合映射到项目聚合集合的 LINQ 操作是SelectMany. 此操作也存在于 System.Reactive 中,允许您从一组 Observable 中创建单个 Observable:
http://www.introtorx.com/content/v1.0.10621.0/08_Transformation.html#SelectMany
Observable.Range(1,3)
.SelectMany(i => Observable.Range(1, i))
.Dump("SelectMany");
Run Code Online (Sandbox Code Playgroud)
...我们现在将得到一个输出,其中每个序列 ([1], [1,2] 和 [1,2,3]) 的结果被展平以产生 [1,1,2,1,2,3] .
SelectMany-->1
SelectMany-->1
SelectMany-->2
SelectMany-->1
SelectMany-->2
SelectMany-->3
SelectMany completed
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
924 次 |
| 最近记录: |