Sono una specie di nuovo a Observers
e sto ancora cercando di capirli. Ho il seguente pezzo di codice:Observable's doOnError location corretta
observableKafka.getRealTimeEvents()
.filter(this::isTrackedAccount)
.filter(e -> LedgerMapper.isDepositOrClosedTrade((Transaction) e.getPayload()))
.map(ledgerMapper::mapLedgerTransaction)
.map(offerCache::addTransaction)
.filter(offer -> offer != null) // Offer may have been removed from cache since last check
.filter(Offer::isReady)
.doOnError(throwable -> {
LOG.info("Exception thrown on realtime events");
})
.forEach(awardChecker::awardFailOrIgnore);
getRealTimeEvents()
restituisce un Observable<Event>
.
La posizione di .doOnError
è importante? Inoltre, qual è l'effetto dell'aggiunta di più di una chiamata in questo pezzo di codice? Mi sono reso conto che posso farlo e tutti vengono invocati, ma non sono sicuro di quale possa essere il suo scopo.
Grazie per aver aggiunto la spiegazione su "onErrorResumeNext()'. Sarà molto utile. – Tavo