banner
Tomorrow

Tomorrow

不骄不躁
twitter

RxJS —— Observer 观察者

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

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:

observable.subscribe(observer);

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

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

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

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

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

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

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

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。