当前位置: 首页 > 知识库问答 >
问题:

错误:找不到参数超时的隐式值:Akka.util.timeout

南宫书
2023-03-14

我有以下代码,在这里我用Scala发出一个ask请求

 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._

错误:(42,35)方法ask:(隐式超时:Akka.util.timeout)scala.concurrent.future[Any]没有足够的参数。未指定的值参数超时。val future3:future[String]=ask(result,Message).Mapto[String]

共有1个答案

阎元徽
2023-03-14

如果查看ask的签名,可以看到:

def ask(message: Any)(implicit timeout: Timeout, 
                      sender: ActorRef = Actor.noSender): Future[Any]

它接受一个隐式timeout:timeout参数,该参数告诉将来何时超时。在调用ask时,必须将其包含在作用域中:

import scala.concurrent.duration._
import akka.util.Timeout

implicit val timeout: Timeout = Timeout(5 seconds)
val future3: Future[String]= ask(result, Message).mapTo[String]
 类似资料:
  • 问题内容: 我有一个将两个日期(开始和结束)传递给PHP脚本的表单,该脚本会将这些日期添加到数据库中。我在验证此问题时遇到问题。我不断收到以下错误 遇到格式错误的数值 这是当我使用以下 但是,当我按照许多站点的建议使用 strtotime() 函数时,我得到的UNIX时间戳记日期为1970年1月1日。有什么想法可以找到正确的日期吗? 问题答案: 因为您要将字符串作为第二个参数传递给date函数,所

  • 我试图改变我的应用程序,以支持32位和64位,但当我改变build.gradle这样。 但当我对其进行分级时,错误将显示如下 错误: 在DefaultConfig_Decorated{name=main,dimension=null,minSdkVersion=DefaultApiVersion{mApiLevel=15,mCodename='null'},targetSdkVersion=Def

  • 我已经回顾了许多关于这个主题的帖子, 未找到Gradle DSL方法:store File() 在没有将密钥库信息放入build.gradle的情况下签署APK 首先。但是我仍然无法克服Gradle错误的方法store File(): 在模块gradle构建文件-我的模块gradle.build文件的内容中: 在这里,我加载文件(位于项目根目录中),其中包含: 如您所见,我在gradle.buil

  • 当我试图在android studio中打开pdf查看器时,我在pdf查看器中遇到了错误16,0https://github.com/barteksc/AndroidPdfViewer

  • 一、隐式转换 1.1 使用隐式转换 隐式转换指的是以 implicit 关键字声明带有单个参数的转换函数,它将值从一种类型转换为另一种类型,以便使用之前类型所没有的功能。示例如下: // 普通人 class Person(val name: String) // 雷神 class Thor(val name: String) { // 正常情况下只有雷神才能举起雷神之锤 def hamm

  • 可以通过 RpcContext 上的 setAttachment 和 getAttachment 在服务消费方和提供方之间进行参数的隐式传递。 1 在服务消费方端设置隐式参数 setAttachment 设置的 KV 对,在完成下面一次远程调用会被清空,即多次远程调用要多次设置。 RpcContext.getContext().setAttachment("index", "1"); // 隐式传