我对此Promise Library中的Promises.zip
和Promises.all
之间的区别有些困惑
如果要并行执行2个任务,我应该使用哪一个,然后将两个结果都用于另一个任务?
如果您查看Promises.all
和Promises.zip
的实现,您会看到.all
可以与Promise
s一起使用相同的类型:
public static func all<T>(_ promises: [Promise<T>]) -> Promise<[T]>
但是.zip
可以与不同类型的类型一起使用:
public static func zip<T, U>(_ first: Promise<T>, _ second: Promise<U>) -> Promise<(T, U)>
这是这两个之间的基本区别。
P.S。另外,如果您尝试通过zip
关键字在GitHub中进行搜索,则可以找到此问题,可以帮助您了解情况。因此,始终首先搜索;(