Я совершенно новичок в Rx Java-наблюдаемых, поэтому я не уверен, когда отписаться.Вот как моя реализация кода
Observable<String> sampleObservable = Observable.just(accountNum);
Subscription sampleSub = sampleObservable.subscribeOn(Schedulers.io()).subscribe(new Action1<String>() {
@Override
public void call(String accountNum) {
try {
//call backend api
AccountResponse response = getAccountDetails(accountNum);
logger.debug("Account response :" + response.toString());
} catch (Exception e) {
logger.error(e.getMessage());
}
}
});
Могу ли я отписаться в конце "sampleSub.unsubscribe ()".Я обеспокоен тем, что вызову «getAccountDetails (accountNum)» потребуется время для завершения, а код отменит подписку, и отменит ли он / повлияет ли вызов «getAccountDetails (accountNum)»?Если да, то есть ли способ отписаться только после завершения этого звонка?
Observable<String> sampleObservable = Observable.just(accountNum);
Subscription sampleSub = sampleObservable.subscribeOn(Schedulers.io()).subscribe(new Action1<String>() {
@Override
public void call(String accountNum) {
try {
//call backend api
AccountResponse response = getAccountDetails(accountNum);
logger.debug("Account response :" + response.toString());
} catch (Exception e) {
logger.error(e.getMessage());
}
}
});
//unsubscribing
sampleSub.unsubscribe();