我有一個演員,採取從另一個演員的結果,並對其應用一些檢查。阿卡演員轉發消息與繼續
class Actor1(actor2:Actor2) {
def receive = {
case SomeMessage =>
val r = actor2 ? NewMessage()
r.map(someTransform).pipeTo(sender)
}
}
現在,如果我做一個問Actor1的,我們現在已經產生2個期貨,這似乎並不過分高效。有沒有辦法提供某種延續的方法,或者我可以在這裏使用的其他方法?
case SomeMessage => actor2.forward(NewMessage, someTransform)
如果Actor1沒有做太多的事情,你不能將它創建爲Actor。創造未來的未來有什麼問題?這是爲了這樣。 –
由於額外的成本,阿卡文件不鼓勵對期貨的過度使用,所以我希望他們可能有辦法處理這種情況,這將減少有2期貨,其中一個會做.. –