我使用以下语法进行三次数据库调用(全部返回Future
值):
for {
a <- databaseCallA
b <- databaseCallB(a)
c <- databaseCallC(a)
} yield (a,b,c)
第二次和第三次调用取决于第一次调用的结果,但是其中两次可以并行运行。
如何在databaseCallC
之后立即发出databaseCallB
(无需等待结果b
)?
或者这已经发生了吗?
答案 0 :(得分:9)
目前没有发生这种情况 - 你告诉期货一个接一个地开始。要并行第二次和第三次调用,您可以使用:
radio.phtml
一旦a可用,这将启动b和c的计算,并且一旦所有三个都可用于三联
,则完成