将 observables 数组传递给 zip

pass array of observables to zip

我有一个 observables 数组,想传递给 Rx.Observable.zip。我试过了,但根本没有订阅。

代码片段(仅作为示例):

const sourceOne = Rx.Observable.of('Hello');
const sourceTwo = Rx.Observable.of('World!');
const sourceThree = Rx.Observable.of('Goodbye');
const sourceFour = Rx.Observable.of('World!');
const arr$ = [sourceOne, sourceTwo, sourceThree, sourceFour];

const zip$ = (a$) => Rx.Observable.zip(a$);

const subscribe = zip$(arr$).subscribe(val => console.log(val));

有没有办法将数组传递给 Rx.Observable.zip

运算符 zip 只接受解压缩的数组。

zip(sourceOne, sourceTwo, sourceThree, ...);

如果您使用的是 ES6,您还可以使用 ...:

的解构赋值
const zip$ = (a$) => zip(...arr$);

观看现场演示:https://jsbin.com/tinaxeq/1/edit?js,console