2014-07-06 5 views
6

Gözlemlenebilir bir akıyı birden çok diğer gözlenebilirlere bölmek mümkün mü?RxJS gözlemlenebilir sekansı çoklu çıkışta

Kullanım durumum, kullanıcının gönderebileceği bir formdur. Gönderme eylemi gözlemlenebilir bir şekilde ele alınır ve bu eylemde bir doğrulayıcı dinleme vardır.

submitAction.forEach(validate) 

şey success veya doğrulayıcı kontrolü failure birine eylemleri bağlamak istediğim.

validationFailure.forEach(outputErrors) 
validationSuccess.forEach(goToPage) 

Ben reaktif programlama nasıl işlendiğine benzer vakalar emin değilim - bu gözlemlenebilir bölme Bu tür bir sorunu işlemek için doğru çözüm adil olmadığını olabilir.

Neyse, benzer bir davayı nasıl ele alırsınız?

cevap

9

Yineleme mantığını yinelemeli olarak yürütmekten kaçınmak için map ve filter, share kullanıyor musunuz?

var submitAction = // some Rx.Observable 
var validationResult = submitAction.map(validate).share(); 
var success = validationResult.filter(function (r) { return !!r; }); 
var failure = validationResult.filter(function (r) { return !r; }); 

success.subscribe(goToPage); 
failure.subscribe(outputErrors); 
+0

Teşekkürler, bu tam olarak aradığım şeydi! – David