什么是Observable
Observable
是RxJS中的一个类,它是一个可观察对象,用于表示一个异步数据流。Observable
可以发出三种类型的值:next
、error
和complete
。next
表示发出一个值,error
表示发出一个错误,complete
表示数据流结束。
Cold Observable
Cold Observable有以下特点:
- 一般来说是单播的(Unicast),每个订阅者都会有自己的数据流。
- 一般是惰性的,创建时并不发出数据,只有有订阅时才会开始发出数据。
Angular中的Http请求就是一个Cold Observable,每次订阅都会发起一个新的请求。
Hot Observable
Host Observable一般用Subject来实现,Subject是一种特殊的Observable,它既是Observable也是Observer。
Hot Observable有以下特点:
- 一般来说是多播的(Multicast),所有订阅者共享同一个数据流。
- 一般是热的,创建后就开始发出数据,即使没有订阅者也发出数据。