Merge/concat 到数组
Merge/concat to array
我现在有这个:
import {concat, Observable, ReplaySubject, pipe, merge} from 'rxjs';
import {takeUntil, takeWhile, toArray} from 'rxjs/operators';
const rs1 = new ReplaySubject(1);
const rs2 = new ReplaySubject(1);
const rs3 = new ReplaySubject(1);
rs1.next(1);
rs2.next(2);
rs3.next(2);
merge(rs1,rs2,rs3).pipe(toArray()).subscribe(v => {
console.log({v});
});
现在它没有记录任何内容,但我希望得到这个记录:
{v: [1,2,3]}
如何 concat/merge 将它们添加到数组中?
那么你应该使用 zip
而不是 merge
。
import {ReplaySubject, zip} from 'rxjs';
const rs1 = new ReplaySubject(1);
const rs2 = new ReplaySubject(1);
const rs3 = new ReplaySubject(1);
rs1.next(1);
rs2.next(2);
rs3.next(2);
zip(rs1,rs2,rs3).subscribe(v => {
console.log({v});
});
我现在有这个:
import {concat, Observable, ReplaySubject, pipe, merge} from 'rxjs';
import {takeUntil, takeWhile, toArray} from 'rxjs/operators';
const rs1 = new ReplaySubject(1);
const rs2 = new ReplaySubject(1);
const rs3 = new ReplaySubject(1);
rs1.next(1);
rs2.next(2);
rs3.next(2);
merge(rs1,rs2,rs3).pipe(toArray()).subscribe(v => {
console.log({v});
});
现在它没有记录任何内容,但我希望得到这个记录:
{v: [1,2,3]}
如何 concat/merge 将它们添加到数组中?
那么你应该使用 zip
而不是 merge
。
import {ReplaySubject, zip} from 'rxjs';
const rs1 = new ReplaySubject(1);
const rs2 = new ReplaySubject(1);
const rs3 = new ReplaySubject(1);
rs1.next(1);
rs2.next(2);
rs3.next(2);
zip(rs1,rs2,rs3).subscribe(v => {
console.log({v});
});