Reactive Extensions API in depth: even more Zip

Sign in to queue

The Discussion

  • User profile image
    Chadk

    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
    Thierry

    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
    Bjorg

    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
    EFV

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

  • User profile image
    Doncwan

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

Add Your 2 Cents