私の意見では、RX関数のかなり良い「感じ」があります。私はそれらの多くを使用しています。 .Prune関数の場所。私はこれがAsyncSubjectへのマルチキャストであることを知っていますが、これが実際のシナリオでどのように役立つのでしょうか?.PublishLast()の使用例(以前はプルーン)
編集:リチャード氏は、WebRequestはPrune()の良い候補だと言います。私はまだどのように表示されません。のは、例を見てみましょう - 私は、画像に入ってくるのURIのを変換したい:
public static IObservable<BitmapImage> ToImage(this IObservable<string> source)
{
var streams =
from wc in source.Select(WebRequest.Create)
from s in Observable
.FromAsyncPattern<WebResponse>(wc.BeginGetResponse,
wc.EndGetResponse)()
.Catch(Observable.Empty<WebResponse>())
select s.GetResponseStream();
return streams
.ObserveOnDispatcher()
.Select(x =>
{
var bmp = new BitmapImage();
bmp.SetSource(x);
return bmp;
});
}
あなたは(熱い)FromAsyncPattern()を呼び出しているときので、私は、.FromAsyncPatternに.Pruneを追加することが必要で表示されませんあなたは「即座に」購読します。
プルーン?キューにバックログがある場合;) –