Rxjava1 timer(), delay(), interval()区别


 
 

timer()

这里说的是新版本的timer(),而老版本的timer()已经跟interval()合并了。
timer():创建一个Observable,它在一个给定的延迟后发射一个特殊的值
这里需要注意,定义里面说的是『一个』,所以有别于之前用的TimerTasktimer()只是用来创建一个Observable,并延迟发送一次的操作符timer()并不会按周期执行。

interval()

interval():创建一个按固定时间间隔发射整数序列的Observable
这个比较好理解,interval()也是用来创建Observable的,并且也可以延迟发送。但interval()是按周期执行的,所以可以这么认为:interval()是一个可以指定线程的TimerTask(威力加强版……)

delay()

delay():延迟一段指定的时间再发送来自Observable的发送结果
语文没学好肯定读不懂这一段,我才看到这句话的时候也懵了……
其实delay()的常规使用跟timer()一致,那区别在哪呢?delay()是用于流中的操作,跟map()flatMap()的级别是一样的。而timer()是用于创建Observable,跟just()from()的级别是一样的。

总结

timer():用于创建Observable,延迟发送一次。
interval():用于创建Observable,跟TimerTask类似,用于周期性发送。
delay():用于事件流中,可以延迟发送事件流中的某一次发送。

作者:Hideeee 链接:https://www.jianshu.com/p/7e28c8216c7d 來源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值