代码之家  ›  专栏  ›  技术社区  ›  Alexander Mills

合并/合并到数组

  •  0
  • Alexander Mills  · 技术社区  · 6 年前

    我现在有这个:

    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]}
    

    如何将它们合并到数组中?

    1 回复  |  直到 6 年前
        1
  •  2
  •   Maksim Romanenko    6 年前

    那你应该用 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});
    });
    
    推荐文章