我正在尝试使用 Swift 组合来运行许多具有相同结果的任务。
目前,每个任务都是一个将发出结果的发布者。现在我面临一个问题,我必须等待所有发布者发出该元素然后继续。有点像调度组。我找到了 zip(带有:::_) 运算符需要 4 个发布者。
https://developer.apple.com/documentation/combine/passthroughsubject/3333571-zip https://developer.apple.com/documentation/combine/passthroughsubject/3333571-zip
但是如果您有一组发布者(如果它们发出相同类型的元素)怎么办?有什么办法可以做到这一点吗?
您可以使用MergeMany
创建一个下游接收来自多个上游的所有发出的值,然后调用collect()
在合并的发布者上立即发出所有值。
let pubs = [Just(1),Just(2),Just(3)]
let downstream = Publishers.MergeMany(pubs).collect()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)