Angular rxjs Observable的异步行为

时间:2022-07-25
本文章向大家介绍Angular rxjs Observable的异步行为,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

源代码:

ngOnInit(): void {
    const a = new Observable((observer) => {
      observer.next(1);
      observer.next(2);
      observer.next(3);
      setTimeout(() => {
        observer.next(4);
        observer.complete();
      }, 1000);
    });
    console.log('just before subscribe');
    a.subscribe({
      next: x => console.log('got value ' + x),
      error: err => console.error('something wrong occurred: ' + err),
      complete: () => console.log('done'),
    });
    console.log('just after subscribe');
  }

执行结果:

先执行完a.subscribe和console.log(‘just after subscribe’), 再执行完1秒超时后的observer.next(4):