Loading user information from Channel 9

Something went wrong getting user information from Channel 9

Latest Achievement:

Loading user information from MSDN

Something went wrong getting user information from MSDN

Visual Studio Achievements

Latest Achievement:

Loading Visual Studio Achievements

Something went wrong getting the Visual Studio Achievements

Reactive Extensions API in depth: even more Zip

1 minute, 51 seconds


Right click “Save as…”

In the previous episode this episode of the Rx API in depth, Jeff talked about the Zip operator in Rx.

In this episode, Jeff dives even deeper in the semantics of Zip, and shows what happens in OnCompleted, OnError and infinite stream cases.

Visit the Reactive Extensions DevLabs page to download and learn more about Rx.


Follow the discussion

  • Oops, something didn't work.

    Getting subscription
    Subscribe to this conversation
  • ChadkChadk excuse me - do you has a flavor?

    Rx is very interest. But these 2 videos on Zip were very uninforming. Sad


    Please, show us some code, go deep, show us how to use it in code!

  • Cool short videos on Rx framework.


    What I find odd about Zip operator is that the combination of error and infinite stream does not result in error. This seems not coherent with Merge operator.

  • Clearly that was a mistake in the presentation.  The only time Zip would never produce a value is if either stream stops producing values and never trigger done or error (it could also be that both enter this state).  Furthermore, there is a race condition between done and error during zipping which makes the outcome unpredictable.  It all depends on which event is observed first (done or error).


    Please post a follow up video to this to correct this one.  Thanks!

  • Eric VincentEFV EFVincent

    I think Bjorg is correct, wouldn't Zip throw an error in the case of ┴ and an exception?

  • Observable.Throw<int>(new InvalidDocumentationException("Video error"))
                    .Zip(Observable.Never<int>(), (lhs, rhs) => new {Left = lhs, Right = rhs})
                    .Subscribe(Console.WriteLine, ex => Console.WriteLine(ex), () => Console.WriteLine("Completed."));

Remove this comment

Remove this thread


Comments closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.