RxJS之AsyncSubject

AsyncSubject 是另一个 Subject 变体,只有当 Observable 执行完成时(执行 complete()),它才会将执行的最后一个值发送给观察者。

import { Component, OnInit } from '@angular/core';
import { AsyncSubject } from 'rxjs/AsyncSubject';


@Component({
  selector: 'app-subject',
  templateUrl: './subject.component.html',
  styleUrls: ['./subject.component.css']
})
export class SubjectComponent implements OnInit {

  constructor() { }

  ngOnInit() {
    const subject: AsyncSubject<string> = new AsyncSubject<string>();
    subject.next('Leo');
    subject.subscribe( // 观察者A订阅
      (val: string) => {
        console.log(`observerA: ${val}`);
      }
    );
    subject.next('Raph');
    subject.subscribe( // 观察者B订阅
      (val: string) => {
        console.log(`observerB: ${val}`);
      }
    );
    subject.next('Mikey');
    subject.next('Don');
    subject.complete();
  }

}

原文地址:https://www.cnblogs.com/sea-breeze/p/8994045.html