rxjs-创建类operator

作者: bugWriter_y | 来源:发表于2019-05-28 05:57 被阅读14次

常用操作符

  1. of

将单个对象转成observable

  1. from

将数组转成observable

  1. fromEvent

监控事件(点击,双击,鼠标移动)

  1. interval

定时发射数据

  1. merge

合并

  1. concat

连接

  1. race

赛跑,取最快的

  1. zip

咬合,一一配对

  1. combineLatest

组合最新的

  1. forkJoin

都结束了取最后一个

例子

import { interval, fromEvent, of, from, merge, concat, race, zip, combineLatest, forkJoin } from 'rxjs';
    of(1)//1
    of(1,2,3)//1---2---3
    of({name:'lili',age:12})//{name:'lili',age:12}
    of([1,2,3])//[1,2,3]

    from([1,2,3])//将数组变成observable
    //1---2---3

    fromEvent(document,"click")//点击一次发射一次

    interval(1000)//定时
    //0---1---2...

    merge(interval(1000),interval(500))//不管内部哪个源发射了数据都会发射出来

    concat(of(1,2,3),interval(1000))//第一个源的数据先发射出来,当第一个结束了发射第一个源的数据
    //1---2---3---0---1---2...

    race(interval(3000),interval(4000),interval(2000))//取最快发射第一个源的数据,这里发射的实际时
    //interval(2000)

    zip(interval(3000),interval(4000),interval(2000))//配对发射,都发射了第一个,将所有内部源的第一个数据组成数组发射出来
    //[0,0,0]---[1,1,1]---[2,2,2]---[3,3,3]
    combineLatest(interval(3000),interval(4000),interval(2000))

    forkJoin(of(1,2),from([1,2,3]))//都结束了以后取最后一个发射的数据组成数组输出来
    //[2,3]

combineLatest

combineLatest (1).png

当所有源的数据都出来了以后发射第一个组合数据,此后每一次源变化取所有源的最后一个数组组合发射出来

forkJoin

forkJoin.png

当所有源都结束了,取所有源的最后一个组合发射出来

相关文章

网友评论

    本文标题:rxjs-创建类operator

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