JSBIN SamplecombineAll n'émet pas sur tableau vide
J'ai un ensemble variable de composants enfant (objet POJO) qui ont chacun son propre flux d'état. Chaque fois qu'un utilisateur déclenche addChild/removeChild/clearChildren, un nouvel ensemble de flux d'état enfants est émis aveC#switchMap. Jusqu'ici tout va bien! (Et tellement surpris par RxJS!)
Avec Rx.Observable.from(arrayOfStateStreams).combineAll()
Je reçois un bon résultat tant que le arrayOfStateStreams
n'est pas un tableau vide. Puisqu'il s'agit d'un état partiel qui est combiné (Dernier) à un niveau supérieur, j'ai besoin d'obtenir un tableau vide ou l'arbre d'état global contiendra des anciennes données d'état qui ne sont plus vraies!
je peux émettre un certain réesrvé comme ['EMPTY-ARRAY-PLACEHOLDER-TOKEN']
, mais c'est juste bizarre. Une meilleure solution serait de toujours ajouter un dernier flux dans le tableau afin que le dernier index puisse être considéré comme une corbeille. Code et état encore confus cependant. L'utilisation de [null]
n'est pas correcte, car nous pourrions avoir un état enfant de 'null'
.
Toute personne qui peut résoudre ce dans le bon sens? Cela ne peut-il pas être supporté puisqu'il ne devrait y avoir aucune autre représentation d'un tableau vide après #combineAll?
Cela a été résolu dans https://github.com/ReactiveX/rxjs/issues/1910 –