gpt4 book ai didi

scala future 错误为 "Don' t 直接调用 `Awaitable` 方法,请使用 `Await` 对象。”

转载 作者:行者123 更新时间:2023-12-02 08:27:55 24 4
gpt4 key购买 nike

我的特质方法是:

userService{
def link(current: U, to:User): Future[U]
def findUserByEmail(email:String):Future[Option[User]]
}

当我执行时我使用:

for(link(currentUser, userService.findUserByEmail(email).result(Duration(1000, MILLISECONDS)).get)){
...
}

错误是:

[error] G:\testprojects\mifun\modules\app\controllers\
ProviderController.scala:130: Don't call `Awaitable` methods directly, use the `
Await` object.

我不知道为什么这里必须使用await对象而不是awaitable方法,以及如何正确更改它。

最佳答案

如果你想阻塞,你需要使用 Await.result(userService.findUserByEmail(email), 1000 millis),请注意,阻塞通常是一个坏主意,因为它会阻塞主线程等待要返回指定的结果,请查看 onComplete例如。

关于scala future 错误为 "Don' t 直接调用 `Awaitable` 方法,请使用 `Await` 对象。”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25132185/

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