Ich versuche zu verstehen, wie funktioniert der combineAll-Operator. ich das folgende Beispiel aus der offiziellen Dokumentation mit:RxJS combineAll Operator, Erklärung
const source = Rx.Observable.interval(1000).take(2);
const example = source.map(val => Rx.Observable.interval(1000).map(i => `Result (${val}): ${i}`).take(5));
const combined = example.combineAll();
Der Ausgang ist dann:
["Result (0): 0", "Result (1): 0"]
["Result (0): 1", "Result (1): 0"]
["Result (0): 1", "Result (1): 1"]
["Result (0): 2", "Result (1): 1"]
["Result (0): 2", "Result (1): 2"]
["Result (0): 3", "Result (1): 2"]
["Result (0): 3", "Result (1): 3"]
["Result (0): 4", "Result (1): 3"]
["Result (0): 4", "Result (1): 4"]
warum auf Figur Probieren, machte ich dieses einfache Schema:
Aus der Dokumentation, ich lese, dass jedes Mal, wenn eine der inneren Observable einen Wert ausgibt, dann dieser emittierte Wert kombiniert wird um den letzten Wert aller anderen inneren Observablen.
In dem Schema oben, können wir sehen, dass 10 Werte während der Zeit durch die innere Observable emittiert werden, so erwarte ich eine Ausgabe mit 10 Werten über die Zeit zu erhalten, aber es ist 9.
Auch in die erste Zeile des Ausgangs:
["Result (0): 0", "Result (1): 0"])
Ist die 0 von ‚(1): 0‘ entspricht einen Nullwert? Weil die beobachtbare "innere 2" noch nichts emittiert hat?
hier zu beenden ist, was ich als Ausgabe erwartet:
["Result (0): 0", "Result (1): 0"]
["Result (0): 1", "Result (1): 0"]
["Result (0): 1", "Result (1): 0"]
["Result (0): 2", "Result (1): 0"]
["Result (0): 2", "Result (1): 1"]
["Result (0): 3", "Result (1): 1"]
["Result (0): 3", "Result (1): 2"]
["Result (0): 4", "Result (1): 2"]
["Result (0): 4", "Result (1): 3"]
["Result (0): 4", "Result (1): 4"]
Es ist offensichtlich falsch, aber ich meinen Fehler nicht finden, könnte jemand erklären?
Vielen Dank! Das habe ich vermisst – Bil5