Skip to content

Conversation

@benjchristensen
Copy link
Member

Allow onError to be treated as a non-terminal event when flowing through flatMap/merge/SerializedObserver so onErrorFlatMap can be used.

Allow onError to be treated as a non-terminal event when flowing through flatMap/merge/SerializedObserver so onErrorFlatMap can be used.
@benjchristensen
Copy link
Member Author

@spodila Does this fix the issue you reported to me?

@cloudbees-pull-request-builder

RxJava-pull-requests #1395 SUCCESS
This pull request looks good

@spodila
Copy link
Contributor

spodila commented Jul 14, 2014

@benjchristensen That should work, thanks.

@benjchristensen
Copy link
Member Author

@headinthebox I'd like you to weigh in on this as I'm concerned with this.

It started out innocently ... but I find this onErrorFlatMap operator veers "outside the lines" as its purpose is basically to break the Rx contract be swallowing errors.

Really what's trying to be done here is map.onErrorResumeNext.merge, but flatMap is map.merge so errors get merged through and then are trying to be handled in a way that doesn't shut down a stream.

The general use case for onErrorFlatMap is to swallow errors so pipelines can be used as an event bus and errors don't act as terminal events.

I'd like to discuss this further before we ship 1.0. We may want a different solution than this one.

@benjchristensen
Copy link
Member Author

Merged along with mergeDelayError changes in #1457

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants