结合框架流转换 ['a','b','c'] -> 'a' 然后 'b' 然后 'c'
Combine Framework stream transformation ['a','b','c'] -> 'a' then 'b' then 'c'
简单的问题,但苦苦思索了一段时间。
我有一个网络请求,我在其中获取一个字符串数组:['a','b','c']
可以说我有 CurrentValueSubject
个 ['a','b','c']
。我想创建一个下游,元素然后一个一个地走,如何实现?
Combine Framework 流转换 ['a','b','c']
-> 'a'
然后 'b'
然后 'c'
您可以使用 flatMap
创建一个发布者,对于上游发布者发布的每个元素,将元素转换为发布者并发布该发布者发布的内容。
假设 cvs
是一个 CurrentValueSubject<[String], Never>
,你可以得到一个发布者来发布 cvs
发布的数组的每个字符串,方法是:
cvs.flatMap(\.publisher)
注意这里的\.publisher
指的是sequences上的publisher
属性,是一个publisher,对每个元素单独发布
简单的问题,但苦苦思索了一段时间。
我有一个网络请求,我在其中获取一个字符串数组:['a','b','c']
可以说我有 CurrentValueSubject
个 ['a','b','c']
。我想创建一个下游,元素然后一个一个地走,如何实现?
Combine Framework 流转换 ['a','b','c']
-> 'a'
然后 'b'
然后 'c'
您可以使用 flatMap
创建一个发布者,对于上游发布者发布的每个元素,将元素转换为发布者并发布该发布者发布的内容。
假设 cvs
是一个 CurrentValueSubject<[String], Never>
,你可以得到一个发布者来发布 cvs
发布的数组的每个字符串,方法是:
cvs.flatMap(\.publisher)
注意这里的\.publisher
指的是sequences上的publisher
属性,是一个publisher,对每个元素单独发布