繁体   English   中英

RXJS 订阅提供主题

[英]RXJS subscribe providing Subject

“订阅提供主题”有什么用处,这意味着什么:- 1- 为什么我使用订阅提供主题

import { Subject, from } from 'rxjs';
 
const subject = new Subject<number>();
 
subject.subscribe({
  next: (v) => console.log(`observerA: ${v}`)
});
subject.subscribe({
  next: (v) => console.log(`observerB: ${v}`)
});
 
const observable = from([1, 2, 3]);
 
observable.subscribe(subject); // You can subscribe providing a Subject
 
// Logs:
// observerA: 1
// observerB: 1
// observerA: 2
// observerB: 2
// observerA: 3
// observerB: 3

您使用 Observer 订阅了 RxJS Observable。 这是用于观察者的 typescript 接口。

interface Observer<T> {
  closed?: boolean;
  next: (value: T) => void;
  error: (err: any) => void;
  complete: () => void;
}

或部分观察者(仅实现一些回调)或使用 function(与仅具有next回调的部分观察者相同。

事实证明,Subject 实现了 Observer 接口,因此它可以用作观察者。 这是一种多播 observable 的简单方法(以及多播运营商在一定程度上如何工作)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM