首页 > 其他分享 >RxJS 系类 – Subject

RxJS 系类 – Subject

时间:2022-10-01 12:55:49浏览次数:88  
标签:Observable multiple 系类 subscribe 发布 RxJS Subject

前言

RxJS 两大概念 Observable 和 Subject. 上一篇介绍了 Observable 这篇继续接受 Subject.

 

参考

RxJS 建立 Observable 的基礎 - Observable / Subject / BehaviorSubject / ReplaySubject / AsyncSubject

 

介绍

Subject 是典型的观察者模式, 它不是 Observable 那样参杂了 Generator Function 概念, 所以比较容易理解.

当我们说 Subject extends Observable 时, 指的是它可以被订阅. 而不是它拥有所有 Observable 的特性哦.

和 Observable 不同的地方

第一个不同是它们发布的方式.

Observable 的发布逻辑是在初始化方法里面通过 subscriber.next 发布的.

Subject 没有初始化方法. 它这个对象自带 .next 方法来实现发布

第二个不同是 multiple subscribe

Observable multiple subscribe 会参数多条独立的 stream. 

Subjust multiple subscribe 则不会产生多条 stream. 每次 subscurbe 它只是把 callback 函数存起来, 发布时挨个调用而已 (典型的观察者模式实现)

 

标签:Observable,multiple,系类,subscribe,发布,RxJS,Subject
From: https://www.cnblogs.com/keatkeat/p/16747067.html

相关文章

  • RxJS 系列 – Observable & Subject
    前言RxJS最大篇幅就是一堆的operators,但是那些概念并不多,只要常用就能熟能生巧了.Observable和Subject反而需要我们了解清楚.所以这篇我们先来了解这2大概念......
  • [RxJS] Subscription add()
    Youcanuse subsciprtion.add(anotherSubscription)tocombinesubscriptionsandcancelthematthesametime.import{Observable}from'rxjs';constobserver......
  • [RxJS] ShareReplay vs share
    ShareReplayisusingReplaySubject.Itwillreplythemessagestolatersubscribers.Itturnsunicastobservabletomulticaseobservable.shareReplay(1,2000):......
  • [Rxjs] Build a basic application store with Subjects
    Store.jsimport{BehaviorSubject,Subject}from'rxjs';import{map,distinctUntilKeyChanged,scan}from'rxjs/operators';exportclassObservableStore{......
  • rxjs 在 react 下的应用
    设置一个subject,然后在组件内定义一个subscription想要发送事件就用subject.next订阅就赋值subject.asObservable().subscribe()直接看代码constsubject=ne......
  • RxJS
    学习抄录加强记忆...入门RxJS是一个库,通过使用observable序列来编写异步和基于事件的程序,提供一个核心的类型Observable,附属类型(Observer/Schedulers/Subjects)和受[......