gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 04:43:37 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] 没有工作。

所以 Try 类似于 Option,一种安全地表示结果的方法。

希望对您有所帮助。

关于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