Ich versuche einen Akteur auszuwählen, der bereits erstellt wurde. Hier ist ein Code:
%Vor%Das Ergebnis ist:
%Vor%Ich kann auch eine Nachricht an den Schauspieler weitergeben und es wird gut abgeschlossen. Was habe ich bei actorSelection verpasst? Wie wählt man den Schauspieler richtig aus?
AKTUALISIERT
Es ist sehr seltsam, aber wenn ich system.actorSelection("/user/myActorName/").resolveOne().value
ersetze
mit system.actorFor("/user/myActorName/")
funktioniert alles. Ich meine actorFor
gibt einen Schauspieler zurück. (Was keine richtige Lösung ist, weil actorFor
veraltet ist)
Bitte seien Sie vorsichtig mit Futures. In Ihrem Fall erhalten Sie eine Zukunft, die im aufrufenden Moment möglicherweise nicht abgeschlossen ist - daher ist der Wert möglicherweise leer:
%Vor%vs
%Vor%Um Wert korrekt zu erhalten, verwenden Sie onComplete oder nur for-compreshesion:
%Vor% Beachten Sie, dass onComplete / for als Listener implementiert sind, sodass sie möglicherweise in einem anderen Thread ausgeführt werden. Wenn Sie das Ergebnis im aktuellen Thread benötigen, verwenden Sie die klassische Await.result
.