RXJS操作符(二)

我们在这里在详细介绍一下observable的性质:


image.png

do() 工具类操作符:可以做调试,可以做外部条件的设置,当我们需要对于流之外的属性进行设置。


image.png

scan()变换类操作符,reduce()数学类操作符。
image.png

过滤类操作符:


image.png

创建类的操作符:
image.png

我们首先先来看一下interval()的使用方法:如下所示每一秒输出一个一个数字 订阅中有三个参数,第一个参数是next参数,
第二个参数是error参数, 第三个参数是 complete参数 , 因为interval 参数不会出现错误,也没有停止 ,所以就不会看到
后面参数的输出。


image.png

接下来我们修改代码,我们去前三个输出值


image.png

下面的代码和上面的能完成一样的功能:
image.png

下面的写法和上面一样都能完成功能:
image.png

接下来我们来看一下timer()方法,timer方法里面的参数,第一个参数是延时多长时间输出,第二个参数是间隔多长时间输出


image.png

接下来我们看一下do()方法,do相当于一个临时的subscribe方法,但是可以处理外部的数据。


image.png

接下来我们来看filter()方法:过滤方法 例如下面过滤偶数。


image.png

我们可以使用filter()配合其他的first()和last()以及skip()方法


image.png

image.png

image.png

skip过滤掉前两个数值的例子如下所示:


image.png

scan()的主要是可以传入函数进行过滤,示例如下:
image.png

reduce()主要是只发送最终的流,仅仅发射一次:
image.png

同样可以是用下面的方式,将最终输出的流组成相应的形式。可以组成数组或者是组成相应的对象。
image.png

我们同样可以看一下出错的时候是什么情况:


image.png

调用throw()


image.png

调用empty()
image.png

总结:


image.png

工具类do() ,一般用于调试,输出log信息,为下一步的动作做准备工作,还有就是和外围进行交互。


image.png

变换类scan() ,每个元素操作之后都会输出出来,同时会把累加的结果传递到下一个值,同时会的到一个流,个数和原来流一样的流。
image.png

数学类reduce(), 累加之后仅仅输出一个值, 可以在初始化值给一个array或者一个对象, 最终的数据流可已变成 一个数组或者一个对象,或者对象数组的形式。
过滤类操作符 skip first last filter take


image.png

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 117,997评论 14 132
  • 基础知识 角色关系(1.x) Observable(被观察者,事件源)Subscribe(订阅动作)Observe...
    DoggieX阅读 5,958评论 2 7
  • 注:只包含标准包中的操作符,用于个人学习及备忘参考博客:http://blog.csdn.net/maplejaw...
    小白要超神阅读 1,479评论 2 8
  • 正月十五月儿圆, 家家户户阖家欢; 国富民强齐贺岁, 国泰民安话开年。 喜乐元宵打灯谜, 甜甜蜜蜜吃汤元; 新春大...
    琢玉书生阅读 50评论 0 2
  • 晚自习回家的路上,女儿一如既往的跟我叨叨一天在学校发生的事,今晚的诉说不禁让我胆战心惊。就在昨晚(下图)的这...
    曼糊儿阅读 28评论 0 0