RxJava를 처음 사용합니다. 내 경험은 주로 자습서에서 나온 것입니다 : Here 및 here.RxJava : 관측 가능 시간이 끝나면 알 수 있고 부울을 반환합니다. 호출자에게 관찰 가능
이제는 Obesrvable<AccessToken>
을 반환하는 Retrofit2 API 호출이있는 상황에서 발견되었습니다. 다음과 같이 클라이언트는이 서비스를 호출합니다 :
public Observable<TokenResult> authenticateWithClientCredentials() {
return authService.authenticate("client_credentials").take(1);
}
Authenticator
라는 클래스가 클라이언트에서 #authenticateWithClientCredentials()
를 호출합니다 경우. 내가 달성하고자하는 어떤
는 API 호출이 액세스 토큰이 인출되어 성공적으로 Authenticator
클래스 내부 캐시에 저장 한 것을 나타 내기 위해서 onComplete()
내부 즉, 완료되면, Authenticator
클래스에서 Observable<Boolean>
을 반환하는 것입니다.
나는 defer
연산자를 시도했지만 여전히 잃어 버렸습니다.
편집
내가 매개 변수에 콜백을 전달할 수 있습니다 알고 있지만, 오래된 고전 콜백 방식을 대체하는 수신의 생각이 아니다?
내가 제대로 질문을 이해 한 경우
대답 주셔서 감사합니다,하지만 난 싶어 꽤 무엇 :
다음은을 반환하여 토큰이 캐시에 성공적으로 설정되었음을 나타냅니다. –
Completable
방법입니다. #authenticateWithClientCredentials는 Authenticator 클래스의 메서드가 아니며 Client 클래스의 메서드입니다. Authenticator는 authenticateWithClientCredentials를 호출하고 토큰을 캐쉬합니다. 그 후에 Authenticator가 Observable@MotassemJalal, 업데이트 – azizbekian
당신은 나에게 설명 할 수 있습니까? (그리고 왜) 완료 가능이 더 선호됩니까? –