【发布时间】:2021-02-22 17:15:56
【问题描述】:
我想等待所有元素的数据并将它们组合成一个结果:
Item: AnyPublisher <Int, Swift.Error>
Array: AnyPublisher <[Result<Int, Swift.Error>], Never>
这可以以某种方式完成吗?我尝试过使用 Zip 和 Merge - 但我无法获得想要的结果。
例子:
func createItem(num: Int) -> AnyPublisher<Int, Swift.Error> {
Just(num)
.setFailureType(to: Swift.Error.self)
.eraseToAnyPublisher()
}
func createItems(nums: [Int]) -> AnyPublisher<[Result<Int, Swift.Error>], Never> {
Publishers.MergeMany(nums.map { self.createItem(num: $0) } )
.collect()
.eraseToAnyPublisher()
}
功能但“createItems”不起作用
【问题讨论】: