我有这个代码,我在Scala中提出请求:
implicit val result =system.actorOf(Props(new TestActor("TestingName")),name = "Scala")
val future3:Future[String]= ask(result ,Message).mapTo[String]
val results = Await.result(future3, 5 second)
这里是我的导入声明
import scala.concurrent.{Await, Future}
import akka.http.scaladsl.server.Directives._
import akka.stream.ActorMaterializer
import akka.util.Timeout
import akka.pattern.ask
import scala.concurrent.Await
import scala.concurrent.duration._
我收到错误信息
Error:(42, 35) could not find implicit value for parameter timeout: akka.util.Timeout val future3:Future [String] = ask(result,Message).mapTo [String]
Error:(42, 35) not enough arguments for method ask: (implicit timeout: akka.util.Timeout)scala.concurrent.Future[Any]. Unspecified value parameter timeout. val future3:Future [String] = ask(结果,消息).mapTo [String]
1 回答
如果您查看
ask
或?
的签名,您会看到:它需要一个隐含的
timeout: Timeout
参数,告诉将来何时超时 . 当你致电ask
时,你必须在范围内: