RxJ'ler akışımdaki Gözlemlenebilir'in üzerine belirli bir duruma gelene kadar dönmeye çalışıyorum, daha sonra akış devam etsin. Özellikle senkronize bir do/while döngüsünü RxJ'lere dönüştürüyorum, ama aynı cevabın bir for ya da while loop için de kullanılabileceğini düşünüyorum.RxJs: Gözlemlenebilir duruma göre nasıl döngü yapılır?
Bunun için doWhile() yöntemini kullanabileceğimi düşünmüştüm, ancak işlev işlevi akıştaki öğeye erişemediğinden, amacın beni yenmesi gibi görünüyor.
var source = new Rx.Observable.of({val: 0, counter: 3});
source.map(o => {
o.counter--;
console.log('Counter: ' + o.counter);
if (!o.counter) {
o.val = "YESS!";
}
return o;
})
.doWhile(o => {
return o.counter > 0;
})
.subscribe(
function (x) {
console.log('Next: ' + x.val);
},
function (err) {
console.log('Error: ' + err);
},
function() {
console.log('Completed');
});
beklenen çıkışı olacaktır:: Doğru reaktif terminoloji burada ne istiyorum içindir, ama ne tam olarak emin değilim
Ben gidiyorum ne bir örnektir
Bunun çözülebilir bir sorun olduğunu varsayarak, döngü yaptığınızda dönmek istediğiniz yeri 'başlat' olarak işaretlediğinizden emin değilim.
Hum. .. ilginç, ben bu işi yapmak mümkün olabilir, ben .expand(). map() m yapsaydım, bunu kullanarak – JBCP
geri göndereceğiz y aşağı akım haritası işlem değerini birkaç kez sonlandırırdı. Son işlemin sadece son sonucu işlemesini istiyorum. Sanırım expand(). Filter(). Map() çalışabilir. – JBCP
Hm. Akıntıya birden çok değer aktarmayı engellemeye izin veren aklınıza gelen tek diğer konu bir konudur. Kendime temiz bir çözümle ilgileneceğim :). –