gpt4 book ai didi

scala - 如何让scala的Future运行在当前线程?

转载 作者:行者123 更新时间:2023-12-01 09:51:22 24 4
gpt4 key购买 nike

我对所有 Future 的执行器使用 scala.concurrent.ExecutionContext.Implicits.global。但有时,我做了一些简单的事情,只是希望它不改变线程(不把它放入线程池),让它继续在当前线程下运行。使用 twitter Future,其中有一个 Future.value 来实现这一点。 scala的 future 怎么办?

最佳答案

你可以这样做:

Future.fromTry(Try { ... })

它不需要 ExecutionContext,基本上只是立即计算表达式并在将来包装结果。

实际上,这是它的实现:

def fromTry[T](result: Try[T]): Future[T] = Promise.fromTry(result).future

所以这似乎是 Twitter 的 Future.value 的直接类比。

如果您的代码没有抛出任何异常,请考虑使用 Future.successful,如果您想创建已经失败的 future ,请考虑使用 Future.failed

关于scala - 如何让scala的Future运行在当前线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36932398/

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