Что не так: zip([Obs1, Obs2])
- это не то же самое, что zip(Obs1, Obs2)
.
Но для перехода есть хитрость: ...argsArray[]
заставляет массив действовать так, как если бы он был набором аргументов (например, эквивалент *args
в python).
Кроме того, если вы обнаружите, что повторяющийся оператор of
находится внутри итерируемого, то, возможно, вам стоит подумать об использовании оператора from
.
function a(x) {
const observables = from([x, x+1]);
return zip(observables);
}
function b() {
const observables = [a(1), a(2)];
return zip(...observables);
}
Тест :
b().subscribe(val =>console.log(val))
[[1], [2]]
[[2], [3]]
Обычно у вас [1] вместо 1, потому что выходные данные zip возвращают массив, содержащий значения.