美文网首页让前端飞Web前端之路
rxjs-条件判断类操作符

rxjs-条件判断类操作符

作者: bugWriter_y | 来源:发表于2019-06-26 15:18 被阅读0次

本章主要关注条件判断类操作符,例如是不是所有数据都满足一个条件,是否为空,如果为空的话返回一个默认值,满足条件的某个数据,这个数据在哪里。

Rx_Logo-512-512.png

defaultIfEmpty

如果外部源没有发射任何数据就结束了,将某一个默认值发射出去

案例:只取前5秒的点击,如果这5秒内没有数据发射,那么发射一个null出去

import { takeUntil, defaultIfEmpty } from "rxjs/operators";
import { interval, fromEvent } from "rxjs";
fromEvent(document, "click")
  .pipe(
    takeUntil(interval(5000)),
    defaultIfEmpty(null)
  )
  .subscribe(x => console.log(x));

every

用于判断是不是所有发射的数据都满足条件如果是发射true,只要有一个不满足就直接返回false

import { every, take } from "rxjs/operators";
import { interval } from "rxjs";
interval(1000)
  .pipe(every(x => x > 100))
  .subscribe(x => console.log(`1:${x}`));

interval(1000)
  .pipe(
    take(3),
    every(x => x < 100)
  )
  .subscribe(x => console.log(`2:${x}`));

find

找到第一个满足条件的数据并发射出去然后结束

import { find } from "rxjs/operators";
import { interval } from "rxjs";
interval(1000)
  .pipe(find(x => x > 4))
  .subscribe(x => console.log(x));

findIndex

找到第一个满足条件的数据并将它的索引发射出去然后结束。此处的索引可以理解为它是第几个发射的数据,从0开始。

import { findIndex } from "rxjs/operators";
import { interval } from "rxjs";
interval(1000)
  .pipe(findIndex(x => x > 4))
  .subscribe(x => console.log(x));

isEmpty

判断是否是空源,没有发射任何数据就结束了。和defaultIfEmpty的判断方式一样,只不过返回true/fasle。

如果发射了数据那么立刻返回false,并且结束。如果没有发射数据,要等到外部源complete了才返回true

import { isEmpty, takeUntil } from "rxjs/operators";
import { interval, fromEvent } from "rxjs";
interval(1000)
  .pipe(isEmpty())
  .subscribe(x => console.log(`1:${x}`));
fromEvent(document, "click")
  .pipe(
    takeUntil(interval(3000)),
    isEmpty()
  )
  .subscribe(x => console.log(`2:${x}`));

相关文章

  • rxjs-条件判断类操作符

    本章主要关注条件判断类操作符,例如是不是所有数据都满足一个条件,是否为空,如果为空的话返回一个默认值,满足条件的某...

  • JavaScript之隐式类型转换

    布尔操作符(!、&&、||) 当使用 条件判断语句(if...else) 以及 布尔操作符(!、&&、||) 时,...

  • springdata中Specification查询封装

    1、操作符类: Specification实现类: 查询条件构造类: 使用方式:

  • Kotlin集合操作符

    总数操作符: any:判断集合中是否有满足条件的元素 all:判断集合中的元素是否都满足条件 none:判断集合是...

  • Kotlin 常用操作符

    常用操作符Kotlin 的操作符跟 RxJava 基本一致,不需要额外记忆。 下标操作类 判断类 过滤类 转换类 ...

  • swift ??理解

    概念 ??这个操作符可以快速的对nil进行条件判断。这个操作符可以判断:在左侧的值是 非nil的Optional值...

  • 6.三目操作符

    6.三目操作符 在Python中,三目操作符比条件表达式更广为人知。这种操作符通过判断条件的真假来返回结果。这种表...

  • 【JavaScript的条件操作符】

    条件操作符:(?: ) 条件操作符:(表达式1 ? 表达式2 : 表达式3 ); 先进行表达式1的判断,如果表达式...

  • 如何学习python|12、条件和布尔类型

    条件语句的判断条件是==操作符的运算结果。==操作符的运算结果只有两种情况,即相等和不相等,也就是条件成立和不成立...

  • 条件渲染

    条件渲染在react中类似于javascript的条件判断。利用javascript中的类似于if这样的条件操作符...

网友评论

    本文标题:rxjs-条件判断类操作符

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