美文网首页RxJS
RxJS repeat、takeWhile的用法

RxJS repeat、takeWhile的用法

作者: 魔力sama | 来源:发表于2020-05-22 16:00 被阅读0次

    repeat操作符可以重复操作,takeWhile可以在满足一定条件时结束流,两者配合使用时需要注意顺序。

    举栗说明

    例子1

    const { from } = rxjs
    const { takeWhile, repeat } = rxjs.operators
    
    from([1,2,3,4,5]).pipe(
      repeat(3),
      takeWhile(v => v !== 3),
    ).subscribe(console.log)
    

    当repeat在takeWhile前面时,会无条件的重复from流,但是之后的结果会被takeWhile筛选,当不满足条件时整个流直接结束,因此输出结果是:

    1
    2
    

    例子2

    const { from } = rxjs
    const { takeWhile, repeat } = rxjs.operators
    
    from([1,2,3,4,5]).pipe(
      takeWhile(v => v !== 3),
      repeat(3),
    ).subscribe(console.log)
    

    将两个操作符的位置互换,takeWhile会先筛选值,遇到3的时候流结束,然后repeat再重复以上过程,
    因此结果为:

    1
    2
    1
    2
    1
    2
    

    相关文章

      网友评论

        本文标题:RxJS repeat、takeWhile的用法

        本文链接:https://www.haomeiwen.com/subject/munqahtx.html