7

我正在寻找 Swift3 中的解决方案来一次解决动态数量的承诺,例如 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 或其他库来做到这一点?

谢谢一堆!

4

1 回答 1

11

您可以查看when哪些可以提供您需要的内容,并在此处进行介绍。

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

when(fulfilled: promiseArray).then { results in
    // Do something
}.catch { error in
    // Handle error
}
于 2017-04-29T21:50:32.403 回答