我做了一個Rxjava wrrapper的火力signInWithCustomToken()
方法,這裏是代碼:是什麼ObservableOnSubscribe回調裏面聽衆的生命週期 - Rxjava
public Observable<AuthResult> signInWithCustomToken(String token) {
return Observable.create(new ObservableOnSubscribe<AuthResult>() {
@Override public void subscribe(ObservableEmitter<AuthResult> emitter) throws Exception {
firebaseAuth.signInWithCustomToken(token)
.addOnSuccessListener(new OnSuccessListener<AuthResult>() {
@Override public void onSuccess(AuthResult result) {
emitter.onNext(result);
}
})
.addOnFailureListener(new OnFailureListener() {
@Override public void onFailure(@NonNull Exception e) {
emitter.onError(e);
}
})
.addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override public void onComplete(@NonNull Task<AuthResult> task) {
emitter.onComplete();
}
});
}
});
}
,所以我想知道什麼是三名聽衆的生命週期( OnSuccessListener
- OnFailureListener()
- OnCompleteListener
)裏面的Rx回調,他們有相同的生命週期的回報Observable,換句話說,如果我打電話observable.dispose()
,他們會從內存中清除?
我還有一個問題很抱歉,這是用Rx方式建模這種方法的最佳方法嗎?
謝謝你在avance。