Swift 以编程方式访问闭包成员

Swift access closure members programmatically

我正在构建一个 Swift 应用程序并使用 PromiseKit 使异步功能更具可读性。

PromiseKit docs可以看出它支持多个并发promise。我写了一些如下代码来在 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
    //…
}

我的问题是我不想写出 result1、result2、...result100。有没有办法以编程方式访问结果?

我能够通过以下方式解决这个问题(感谢@MadProgrammer):

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 { results in
    // process results
}