Rxjs-自学总结(2)

Observable的性质
三种状态:next、error、complete
特殊的:永不结束、Never(永不发生,永不结束)、Empty(结束但不发射)、Throw(立即进入error状态)
do:用于调试,或与外部交互
scan和reduce:scan累加后返回一个个数一致的流,reduce累加后只返回一个值。
过滤操作符:filter、take、first/last、skip(省略之前的值)…

代码:

let logLabel = '当前值是';

const interval$ = Rx.Observable.interval(1000)
  .filter(v=>v%2===0) //加上一个过滤条件,满足条件的发射

//   .map(val=>val*2)

//   .do(v =>{ //do 相当于临时subscribe,并没有结束流,还可以继续操作流
//     console.log(logLabel + v);
//     logLabel = '值为';
//   })
//   .scan((x,y)=>{return x+y;})

  .take(4)
  .reduce((x,y)=>{return [...x,y];},{})

//   .take(4); //first()和take(1)效果是相同的


interval$.subscribe(
  function(val){
    console.log(val);
  }
//   function(err){
//     console.log(err);
//   },
//   function(){
//     consolo.log('I am a complete');
//   }
);

// const timer$ = Rx.Observable.timer(1000,2000); //第一个参数表示 一开始延迟多久发射,第二个参数表示经过多少时间再次发射
// timer$.subscribe(v=>console.log(v));

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值