我一直在阅读此博客https://blog.lftechnology.com/implementing-the-observer-pattern-in-javascript-198ccb62124d,但找不到以下代码:
return
此处的语句:
return () =>
(this.subscribers = this.subscribers.filter(
subscriber => subscriber !== fn
));
在这段代码中:
subscribe(fn) {
if (Array.isArray(fn)) {
return this.subscribeMany(fn);
}
this.subscribers.push(fn);
return () =>
(this.subscribers = this.subscribers.filter(
subscriber => subscriber !== fn
));
}
是否应将其全部删除,而不是按照指示subscriber => subscriber !== fn
删除?他们只是将值fn
推到了上一行的this.subscribers
,然后立即将其删除了吗?这没有道理。
答案 0 :(得分:0)
订阅可观察对象将返回一个Subscription
对象,该对象具有一个unsubscribe()
方法,该方法不带任何参数,而只处理预订所拥有的资源。