akka 不等待结果的询问模式

vkc1a9a2  于 2022-11-23  发布在  其他
关注(0)|答案(1)|浏览(162)

我有一个akka演员,他是按顺序做一些事情的,可以总结如下:

def receive = {
    case Request(...) => {
        val id = generatedId()
        sender() ! id
        doSomeOtherStuffs()
    }
}

使用某种 ask 模式调用执行元

val id = myActor ? Request(...)

这里的问题是调用我的演员的代码正在等待所有doSomeOtherStuffs()的事情完成。
允许参与者回复,然后让调用代码停止等待该参与者的正确方法是什么?

xnifntxz

xnifntxz1#

这样怎么样?将其他内容的实际执行与响应请求分离

def receive = {
    case Request(...) => {
        val id = generatedId()
        sender() ! id
        self ! DoSomethingElse(...)
    }
    case DoSomethingElse(...) =>
        doSomethingElse()
}

相关问题