Javascript 未调用forkJoin.subscribe with ReplaySubject

Javascript 未调用forkJoin.subscribe with ReplaySubject,javascript,rxjs,Javascript,Rxjs,我想创建一个Observable,如果两个ReplaySubject实例都持有一个值,它就会触发。我这样试过: let v1 = new Rx.ReplaySubject(); let v2 = new Rx.ReplaySubject(); v1.next('X'); const combo = Rx.Observable.forkJoin(v1, v2) combo.subscribe( arr => console.log(arr) ) v1.subscribe( s =&g

我想创建一个Observable,如果两个ReplaySubject实例都持有一个值,它就会触发。我这样试过:

let v1 = new Rx.ReplaySubject();
let v2 = new Rx.ReplaySubject();

v1.next('X');

const combo = Rx.Observable.forkJoin(v1, v2)

combo.subscribe( arr => console.log(arr) )

v1.subscribe( s => console.log('v1', s) );
v2.subscribe( s => console.log('v2', s) );

v2.next('Y');

同时调用v1.subscribe和v2.subscribe,但不调用combo.subscribe。我错了什么?如何解决此问题?

forkJoin等待输入可观察项完成,然后发出最后发出的项。您必须同时完成这两个主题。

forkJoin等待输入可观察项完成,然后发出最后发出的项。您必须同时完成这两个主题。

将只在所有输入观察值完成后发出一个包含所有最后值的数组。如果手动完成v1和v2,combo将发出:

设v1=new rxjs.ReplaySubject; 设v2=new rxjs.ReplaySubject; v1.下一个'X'; v2.下一个'Y'; v2.下一个“Z”;//这个附加值应该说明forkJoin的思想 const combo=rxjs.forkJoinv1,v2 combo.subscribe arr=>console.logarr v1.1完成; v2.完成; 将仅在所有输入观察值完成后,才会发出一个包含所有最后一个输入观察值的数组。如果手动完成v1和v2,combo将发出:

设v1=new rxjs.ReplaySubject; 设v2=new rxjs.ReplaySubject; v1.下一个'X'; v2.下一个'Y'; v2.下一个“Z”;//这个附加值应该说明forkJoin的思想 const combo=rxjs.forkJoinv1,v2 combo.subscribe arr=>console.logarr v1.1完成; v2.完成;