gpt4 book ai didi

swift - 在继续之前获取 [EventLoopF​​uture] 的所有值

转载 作者:行者123 更新时间:2023-12-05 08:30:52 24 4
gpt4 key购买 nike

我有一组值映射到多个 promise ,每个 promise 都给我一个 EventLoopF​​uture。所以我最终得到了一个具有可变大小 [EventLoopF​​uture] 的方法,并且我需要所有响应都成功才能继续。如果其中一个或多个返回错误,我需要执行错误场景。

在继续成功路径或错误路径之前,如何等待整个 [EventLoopF​​uture] 完成?

最佳答案

EventLoopFuture有一个 reduce(into: ...) 可以很好地用于该目的的方法(以及您想要累积多个值的其他任务):

let futureOfStrings: EventLoopFuture<[String]> =
EventLoopFuture<String>.reduce(into: Array<String>(),
futures: myArrayFutureStrings,
on: someEventLoop,
{ array, nextValue in array.append(nextValue) })

具体转[EventLoopFuture<Something>]进入EventLoopFuture<[Something]>你也可以使用更短的 whenAllSucceed

let futureOfStrings: EventLoopFuture<[String]> =
EventLoopFuture<String>.whenAllSucceed(myStringFutures, on: someEventLoop)

关于swift - 在继续之前获取 [EventLoopF​​uture] 的所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62212957/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com