gpt4 book ai didi

scala - Promise.tryComplete中的参数指的是什么?

转载 作者:行者123 更新时间:2023-12-02 21:41:58 25 4
gpt4 key购买 nike

谁能告诉我 tryComplete 函数中的参数指的是什么?

def any[T](fs: List[Future[T]]): Future[T] = {
val p = Promise[T]()

fs foreach (x => x.onComplete(p.tryComplete(_)))

p.future
}

我知道这里的下划线是 Try[T] 类型。这个 Try[T] 从哪里来?

最佳答案

让我们从头开始。由于 fs 是一个 List[Future[T]],因此您知道 x 是一个 Future[T]

您需要注册一个回调,该回调将在 x 的结果可用时触发。实现此目的的简单方法是使用 onComplete,它采用 Try[T] => U 类型的函数。

所以下划线是一个Try[T],它保存x的结果,即Future[T]Future 有两种可能的结果:Success[T],当 Future[T] 工作并保存结果时, >Failure[T],由于 Future[T] 不起作用而引发异常。

因此,TryOption 类似,是一种安全表示结果的方法。

希望有帮助。

关于scala - Promise.tryComplete中的参数指的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20278633/

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