我正在构建一个Swift应用程序,并使用PromiseKit使异步功能更具可读性。
从PromiseKit docs中,我可以看到它支持多个并发的Promise。我编写了以下代码,以在for循环中生成promise,然后等待它们全部实现。
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
}
文档中的示例显示将promise写为:
firstly {
when(fulfilled: operation1(), operation2())
}.done { result1, result2 in
//…
}
我的问题是我不想写出result1,result2,... result100。有没有办法以编程方式访问结果?
答案 0 :(得分:0)
我能够通过以下方式解决此问题(感谢@MadProgrammer):
RequestClientCredentialsTokenAsync