RxJS 中观察者消费数据与流的评估取消
1. 创建基础可观察对象
多数情况下,我们会使用 RxJS 的工厂操作符(如 from() 和 of() )来实例化可观察对象,这些操作符通常能满足我们的需求。但理解可观察对象在 RxJS 抽象背后的工作原理,以及它如何与观察者交互来发出事件很重要。
下面是一个异步发出事件并提供取消订阅机制的基础可观察对象模型:
const observable = events => {
const INTERVAL = 1 * 1000;
let schedulerId;
return {
subscribe: observer => {
schedulerId = setInterval(() => {
if(events.length === 0) {
observer.complete();
clearInterval(schedulerId);
schedulerId = undefined;
}
else {
observer.next(events.shift());
}
}, INTERVAL);
return {
unsubscribe: () => {
if(schedulerId) {
clearInter
超级会员免费看
订阅专栏 解锁全文
41

被折叠的 条评论
为什么被折叠?



