Ich habe eine Steuerung in meinem Projekt, die eine Socket-Methode Ich möchte diese Methode in Companion-Objekt aufrufen. Aber irgendwie kann ich das nicht tun, wie ich Parameter übergeben muss auch zum begleitenden Objekt, was ich nicht kann. Hier ist mein Codebeispiel:Aufruf Methoden von Controller von Scala Begleiter Objekte
class WebSocketController @Inject() (cache:CacheApi)(implicit actorSystem:ActorSystem, materializer:Materializer) extends Controller {
def socket = WebSocket.accept[JsValue , JsValue] { request =>
ActorFlow.actorRef(out => SocketHandlerClass.props(out,postActor))
}
}
/*My Companion Object */
object WebSocketController {
/* how to call socket method here ???*/
}
Das Companion-Objekt kann als eine Gruppe statischer Vals/Vars/Defs angesehen werden. Die Socket-Funktion ist für eine Instanz des WebSocketControllers definiert. Mit anderen Worten, es ist nicht möglich, eine Instanz von WebSocketController zu erstellen. – irundaia
Also, wie würde ich die Instanz der WebSocktetController-Klasse mit all diesen erforderlichen Argumenten erstellen. Grundsätzlich möchte ich die Socket-Methode von einem anderen Projekt aufrufen, indem Sie dies als ein Glas machen. Und mir ist nicht klar, wie es mit Begleitobjekten in diesem Fall zu tun ist. –