我以前不返回期貨以下舊代碼,但它現在是:如何將其轉換爲使用期貨,不知道如何使用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