0
이 클래스가 있습니다. 이 클래스의 클라이언트는 chatHub 콜백에 할당 된 즉시 chatHub 필드의 인스턴스를 가져옵니다. connection.connected (() -> chatHub = connection.createHubProxy ("ChatHub"))); chatHub이 null 일 수 있습니다. 우리는 chatHub을 초기화하자마자 가입자를 통해 밀어 넣어야한다. 아이디어가 있습니까?게으른 초기화 된 필드에서 관찰 가능
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(){
}
}
getHubProxy 메소드를 올바르게 구현하는 방법이 궁금합니다. 미리 감사드립니다.
멋진 사람! 고맙습니다. 나는 그것이 단지 시간 만에 방출되기를 원하지 않는다. chatHub var의 "신선한"버전을 사용하고 싶습니다. 이러한 이유로 리플레이 (1)를 제거 할 수 있습니까? – beka
그냥'subject'를 반환하십시오. 그것도 충분해야한다 ('autoconnect'도 없다) – dwursteisen
그리고'subject.onCompleted()'도 제거하고 싶을 것이다. – dwursteisen