我以前不返回期货以下旧代码,但它现在是:如何将其转换为使用期货,不知道如何使用Future.Traverse
for (rg <- effectedRoleGroups) {
val pm = securityService.generateABC(rg.id)
redisService.setABC(rg.id, pm)
}
现在securityService和redisService都是返回期货。
我知道我能做到这一点:
for {
result <- Future.traverse(effectedRoleGroups)(rg -> securityService.generateABC(rg.id)
}
但我不知道我怎么会用,结果在这种情况下,传递给我的其他服务。
究竟是什么影响了罗尔集团? –
请澄清,如果你想*你的*函数返回一个未来,或者如果你想它等待它调用的函数的结果并返回一个常规值。 –
我希望它是非阻塞的。我想以某种方式执行我最初在我的'''中执行的操作(rg < - affectedRoleGroups)...'''语句,但现在我的服务正在返回未来。 – Blankman