gpt4 book ai didi

scala - 永远不会完成的 future

转载 作者:行者123 更新时间:2023-12-04 01:43:33 25 4
gpt4 key购买 nike

需要测试一些可能导致超时的方法,我想为此创建一个辅助函数。它应该返回一个 Future那个从不 完成:

def neverCompletes[T]: Future[T] = { ... }

但我想知道,我该怎么做?我可以喜欢以下内容:
def neverCompletes[T]: Future[T] = {
val p = Promise[T]()
future {
while(true) { }
} onComplete {
case x =>
p complete x // needed?
println("something went wrong!!!") // something is wrong...
}

p.future
}

但是应该有更好的方法来实现这一目标。我也不确定是否 p complete x // needed?那里需要。

最佳答案

更新:

在 Scala 2.12 中会有一个方法 Future.never返回一个永远不会完成的 future 。

容易的事。只需创建一个 Promise并返回其 Future没有完成它:

def neverCompletes[T]: Future[T] = Promise[T].future

关于scala - 永远不会完成的 future ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20265768/

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