我正在构建一个Swift应用程序,并使用PromiseKit使异步功能更具可读性。
从
PromiseKit docs
,我可以看到它支持多个并发承诺。我编写了如下代码,在for循环中生成承诺,然后等待它们全部实现。
for index in 0...100 {
let urlString = "https://someurl.com/item/\(index)"
guard let url = URL(string: urlString) else { return }
requestPromises += [URLSession.shared.dataTask(.promise, with: url).validate()]
}
firstly {
when(fulfilled: requestPromises)
}.done {
// process results
}
firstly {
when(fulfilled: operation1(), operation2())
}.done { result1, result2 in
//â¦
}
我的问题是我不想写出结果1,结果2。。。结果100。有没有一种方法可以通过编程方式访问结果?