Skip to content

behavior of concat(Observable<Observable<T>>) #202

@abliss

Description

@abliss

I have a question about the behavior of concat when given an observable of observables. Currently, it seems to materialize its input into a list, then concat the list. This runs counter to my expectation, which would be that new observables could be produced while the concat is underway. In other words, (a) elements from the first Observable should be rendered by concat() even if the Observable<Observable> is blocked, and (b) the concat()ed observable should not start pulling elements from the next Observable (or call onCompleted) until the current Observable calls onCompleted.

I have written a failing unit test which illustrates the behavior I was expecting:
https://gist.github.com/abliss/5205333

My question, then is (1) does this match the behavior of .net, (2) if so, is this a design decision you're comfortable emulating, and (3) if so, does this match everyone else's intuition given the current documentation (which is silent on this issue)?

If the answer to any of the above is "no", I'm happy to provide a patch.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions