ios - swift & PromiseKit : Resolving ALL promises from a loop

标签 ios swift swift3 promise promisekit

我正在寻找 Swift3 中的解决方案来一次解决动态数量的 promise ,例如就像 JavaScript 中的这个示例:

var promises = [];
for(var i = 0; i < 5; i++) {
    var promise = $http.get('/data' + i);
    promises.push(promise);
}
$q.all(promises).then(doSomethingAfterAllRequests);

https://daveceddia.com/waiting-for-promises-in-a-loop/

Swift2 有一个名为“Craft”的库可以做到这一点 (https://github.com/supertommy/craft),但不再维护。

有谁知道我是否可以或如何使用 PromiseKit 或其他库来做到这一点?

非常感谢!

最佳答案

您可以查看when,它可能会提供您需要的内容并涵盖here .

使用循环将您的 promise 放入一个数组中,然后执行如下操作:

when(fulfilled: promiseArray).then { results in
    // Do something
}.catch { error in
    // Handle error
}

关于ios - swift & PromiseKit : Resolving ALL promises from a loop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43700548/

相关文章:

ios - NSLayoutRelationConstraint 到视觉格式约束

ios - 在 iOS 中解码 OpenSSL AES256 字符串

ios - 以编程方式为 NSUserActivity 创建提醒

arrays - 如何在swift中获取名称存储为字符串的数组

mvvm - 正确使用 RxSwift 和 TableView

ios - 新 Alamofire Swift 3 上的 GET 请求

ios - 如何将可自定义的 View 显示到所有 View Controller 中?

ios - View Controller 顶部的黑色空间

ios - Swift:非托管 AVAudioPlayer

ios - 在选项卡式应用程序中保存用户对选项卡的重新排序