2017-01-13 5 views
1

私はオブザーバブルの配列を持ち、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に配列を渡す方法はありますか?

答えて

5

オペレータzipは、アンパックされた配列のみを受け入れます。あなたはES6を使用している場合

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

あなたも...で割り当てを構造化代入使用することができます。

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

はライブデモを参照してください:すべてのhttps://jsbin.com/tinaxeq/1/edit?js,console

+0

まず、あなたの答えをありがとう。いいえ、私はjavascriptを使用していますが、あまりにもそれを行うには、とにかくですか? –

+1

[ES6 spec](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment)を確認し、Rx.Observable.zip(... arr $)を使用して、 ;と同様に。 ES5を使用している場合は、 'Rx.Observable.zip(sourceOne、sourceTwo、sourceThree);' – martin

+1

を使用してください。ES5を使用している場合、 'Rx.Observable.zip.apply(null、arr $);' – cartant

関連する問題