EventLoopFuture有一种reduce(into: ...)方法可以很好地用于该目的(以及您想要累积多个值的其他任务):
let futureOfStrings: EventLoopFuture<[String]> =
EventLoopFuture<String>.reduce(into: Array<String>(),
futures: myArrayFutureStrings,
on: someEventLoop,
{ array, nextValue in array.append(nextValue) })
Run Code Online (Sandbox Code Playgroud)
要专门[EventLoopFuture<Something>]变成EventLoopFuture<[Something]>你也可以使用较短的whenAllSucceed
let futureOfStrings: EventLoopFuture<[String]> =
EventLoopFuture<String>.whenAllSucceed(myStringFutures, on: someEventLoop)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1097 次 |
| 最近记录: |