Rxjsのオペレータ下編

1392 ワード

Rxjsのオペレータ下編


グループ化オペレータ

  • buffer buffer(breakObservable)パラメータ署名
    let breakWhen$ = Rx.Observable.timer(1000);
    
    let stream$ = Rx.Observable.interval(200).buffer(breakWhen$);
    
    stream$.subscribe(value => console.log(value));
    // source ,  0,1,2,3,4
    
    Bufferは、breakObervableが発生するまで待つことなく値を発行することを意味します.
  • bufferTime基本とbufferの役割は同じであるが,bufferが伝達するパラメータはBreakObservableである.しかしbufferTimeは時間をパラメータとし,キャッシュのトリガタイミングとする.

  • 詳細パラメータ

  • Subject Subjectは、Observer Observableの動作を持つ比較的特殊なものです.したがって、Subjectは、データを購読してもよいし、データ送信値
    subject.next(1);
    subject.next(2);
    
    を送信してもよい.
  • next
  • error
  • complete
  • subscribe
  • Unsubcribe

  • 通常、
    const subscription = subject.subscribe( (value) => console.log(value) )
    
    を使用するためにSubjectをエージェントとして使用するトラップがあります.proxySubjectは、購読されない前に呼び出されたnextメソッドがすべて無効であり、購読後の値が優先的に発行されます.
  • ReplaySubject ReplaySubjectの値がSubjectと唯一異なるのは、subjectが購読されない前にすべてのnextメソッドが無効であったが、replaySubjectには実際に設定可能なバッファ区間があることである.
    let source$ = Rx.Observable.interval(500).take(3);
    const proxySubject = new Rx.Subject();
    let subscriber = source$.subscribe( proxySubject );
    
    proxySubject.subscribe( (value) => console.log('proxy subscriber', value ) );
    
    proxySubject.next( 3 );