RxJS —— Observer 观察者

观察者是 Observable 传递的值的消费者。它是一组回调，用于 Observable 传递的每种类型的通知：next、error、complete。

Copy
const observer = {
next: (x) => console.log('Observer got a value: ' + x),
error: (err) => console.error('Observer got an error: ' + err),
complete: () => console.log('Observer got a complete notification'),
};

要使用 Observer, 请将其提供给 Observable 的 subscribe:

Copy
observable.subscribe(observer);

观察者只是具有三个回调的对象，一个用于 Observable 可能传递的每种类型的通知。

RxJS 中的观察者也可能是部分的。如果你不提供其中一个回调，Observable 的执行仍然会正常进行，除了某些类型的通知将被忽略，因为它们在观察者中没有对应的回调。

下面是没有提供 complete 回调的观察者：

Copy
const observer = {
next: (x) => console.log('Observer got a value: ' + x),
error: (err) => console.error('Observer got an error: ' + err),
}

订阅 Observable 时，也可以只提供下一个回调作为参数，而不附加到 observer 对象，例如：

Copy
observable.subscribe(x => console.log('Observer got a value: ' + x));

在 observable.subscribe 内部，它将使用回调参数创建一个 Observer 对象作为 next 处理程序。