9、RxJS核心操作符及常用操作符详解

RxJS核心操作符及常用操作符详解

1. RxJS的延迟求值与订阅

1.1 延迟求值策略

在RxJS中,表达式的整个求值过程会等待,直到需要该表达式的结果时才会进行。具体来说,就是等待订阅者订阅可观察表达式,然后才开始初始化所需的数据结构。这种延迟求值策略使得RxJS能够对内部数据结构进行优化和复用。

1.2 延迟分配与订阅可观察对象

RxJS通过两种方式避免过早分配数据:
- 延迟订阅机制 :可观察对象在被感兴趣的事件激活之前会处于休眠状态。例如,以下代码创建了一个每隔半秒生成一个事件的可观察对象:

const source$ = Rx.Observable.create(observer => {
  let i = 0;
  setInterval(() => {
    observer.next(i++);
  }, 500);  
});

要激活 source$ ,观察者必须通过 subscribe() 方法进行订阅。调用 subscribe 会使可观察对象脱离休眠状态,开始生成值。
- 即时推送数据 :可观察对象在事件发出后会立即推送数据,而不是将其静态地保存在内存中。默认情况下,数据一旦被接收就会向下游发送。

延迟订阅的第二个优点是,可观察对象默认不会保留数据。在上述示例中,每个由定时器生成的事件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值