2017-02-21 5 views
5

vs bazı tartışma zaman uyumsuz olan görevlerin yerine gözlenebilirleri kullanarak etrafında oluyor gördüğüm/bekliyor. Şu anda neredeyse tamamen CreateFromTask kullanıyor. CreateFromTask yerine CreateFromObservable kullanmanın arkasındaki mantığı anlamaya çalışıyorum. Bir CreateFromObservable bir CreateFromTask dönüştürmek için en iyi yolu ne olurdu ReactiveCommand.CreateFromTask ReactiveCommand.CreateFromObservable

Ve eğer öyleyse

. Biz mükemmel reaktif dünyada :-) ağırlıklı Görev tabanlı dünyada sadece Gözlenebilirler ifşa edeceği kullanan tüm kütüphaneleri canlı çünkü

cevap

4

CreateFromTask bir yardımcı olarak gerçekten sadece vardır. O zaman sadece Gözlemlenebilirliği sona erdirebilirsiniz. Ancak bu durumun nasıl göründüğüne bakılmaksızın RxUI, Görevleri Komutalara kolayca çekmek için bazı yardımcıları içerir.

burada https://github.com/reactiveui/ReactiveUI/issues/1245

Sadece bu yardımcıları kurtulmak için bir tartışma bile var göreceksiniz

bakarsak.

siz "CreateFromTask" için kod öyle hepsi bu soruya Yani bir gözlemlenebilir ve ardından kod çağırır dönüştürmek göreve ToObservble() çağrısı

https://github.com/reactiveui/ReactiveUI/blob/develop/src/ReactiveUI/ReactiveCommand.cs#L418

CreateFromObservable

olup bakarsak Görevde ToObservable'ı çağırmanın onu dönüştürmenin en iyi yolu olduğunu söyleyebilirim. Ben normalde sadece cephesi ile bütün görev tabanlı kütüphaneler olduğunu sarın ve ToObervable kullanarak bunları açığa Neler bu kullanarak deyimi

using System.Reactive.Threading.Tasks 

dahil etmek gerekir. Eğer reaktif bir çözümlerle gidiyoruz Daha kolay yaşam karıştırma ve eşleştirme karşı gözlenebilirlerinin topraklarda çalışmaya yapacaktır.

CreateFromTask üzerinde CreateFromObservable arkasındaki mantık kütüphanesi çözüm o şeyler bekliyoruz gidiyor birincil yolu olacak böylece öncelikle reaktif varsayar olmasıdır. Bu Komutları oluşturmak için diğer bütün yollar gerçekten sonunda

+1

teşekkür ederiz CreateFromObservable için orada yol yapmak sadece yardımcılardır. Bu gerçekten çok yardımcı olur. –