Reactive Extensions API in depth: even more Zip

Play Reactive Extensions API in depth: even more Zip

The Discussion

  • User profile image

    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!

  • User profile image

    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.

  • User profile image

    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!

  • User profile image

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

  • User profile image

    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."));

Add Your 2 Cents