0%

RxJS-observable

什么是Observable

Observable是RxJS中的一个类,它是一个可观察对象,用于表示一个异步数据流。Observable可以发出三种类型的值:nexterrorcompletenext表示发出一个值,error表示发出一个错误,complete表示数据流结束。

Cold Observable

Cold Observable有以下特点:

  • 一般来说是单播的(Unicast),每个订阅者都会有自己的数据流。
  • 一般是惰性的,创建时并不发出数据,只有有订阅时才会开始发出数据。

Angular中的Http请求就是一个Cold Observable,每次订阅都会发起一个新的请求。

Hot Observable

Host Observable一般用Subject来实现,Subject是一种特殊的Observable,它既是Observable也是Observer。

Hot Observable有以下特点:

  • 一般来说是多播的(Multicast),所有订阅者共享同一个数据流。
  • 一般是热的,创建后就开始发出数据,即使没有订阅者也发出数据。