Rx API in depth: Concat, Catch and OnErrorResumeNext
- Posted: Dec 11, 2009 at 8:12 AM
- 33,500 Views
- 2 Comments
Download
How do I download the videos?
- To download, right click the file type you would like and pick “Save target as…” or “Save link as…”
Why should I download videos from Channel9?
- It's an easy way to save the videos you like locally.
- You can save the videos in order to watch them offline.
- If all you want is to hear the audio, you can download the MP3!
Which version should I choose?
- If you want to view the video on your PC, Xbox or Media Center, download the High Quality WMV file (this is the highest quality version we have available).
- If you'd like a lower bitrate version, to reduce the download time or cost, then choose the Medium Quality WMV file.
- If you have a Zune, WP7, iPhone, iPad, or iPod device, choose the low or medium MP4 file.
- If you just want to hear the audio of the video, choose the MP3 file.
Right click “Save as…”
- High Quality WMV (PC, Xbox, MCE)
- MP3 (Audio only)
- MP4 (iPod, Zune HD)
- Mid Quality WMV (Lo-band, Mobile)
Visit the Reactive Extensions DevLabs page to download and learn more about Rx.
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.
Follow the Discussion
Might be useful to combine all three into one method: IO<T>.ContinueWith(IO<T> onDone, IO<T> onError). Frankly, I was surprised by the behavior of Concat(). I expected it subscribe immediately and then serialize the observations.
It might be helpful to come up with a naming scheme where the method name hints at if the supplied observable will be subscribed to immediately (like Zip... or should that be Combine?) and those which subscribe later. For example the suffix "Then" may work: ConcatThen(), CatchThen(), OnErrorResumeNextThen(), RepeatThen(), etc.
ContinueWith is a good idea. In fact, it already exists in Rx and is an overload of SelectMany. The only difference is that the SelectMany can continueWith on OnNext, onCompleted, or OnError. This is the correct overload:
IObservable<T>.SelectMany(Func<Notification<T>, IObservable<U>)
Also note that Concat has the same semantics in Rx that is does in Linq to Objects. Namely that the subscription to the second source doesn't happen until the first source has completed.
Remove this comment
Remove this thread
close