Ich habe diese Klasse. Ich möchte, dass der Client dieser Klasse die Instanz des Feldes chatHub erhält, sobald chatHub im Rückruf zugewiesen wurde connection.connected (() -> chatHub = connection.createHubProxy ("ChatHub")); chatHub könnte null sein. Wir müssen chatHub über den Abonnenten pushen, sobald es initialisiert wurde; irgendwelche Ideen?Observable von faul initialisiert Feld
public class SignalRManager {
private HubProxy chatHub;
public SignalRManager() {
Platform.loadPlatformComponent(new AndroidPlatformComponent());
HubConnection connection = new HubConnection("https://test.chatlasapp.com/signalr/hubs");
connection.stateChanged((connectionState, connectionState2) -> Log.i("SignalR", connectionState.name() + "->" + connectionState2.name()));
connection.closed(() -> {
Log.i("SignalR", "Closed");
chatHub = null;
connection.start();
});
//As soon as HubConnection connected this callback invokes.
connection.connected(() -> chatHub = connection.createHubProxy("ChatHub"));
connection.start();
}
Observable<HubProxy> getHubProxy(){
}
}
Ich frage mich, wie man getHubProxy Methode richtig implementieren? Vielen Dank im Voraus!
Großer Mann! Vielen Dank. Ich will nicht, dass es nur Zeit ausgestrahlt wird. Ich möchte "frische" Version von ChatHub var verwenden. Kann ich aus diesem Grund Replay (1) entfernen? – beka
gib einfach 'subject' zurück. es sollte genug sein (ohne 'autoconnect' auch) – dwursteisen
und Sie können' subject.onCompleted() 'auch entfernen – dwursteisen