博客中的观察者订阅模式

时间:2019-04-22 23:04:23

标签: javascript

我一直在阅读此博客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,然后立即将其删除了吗?这没有道理。

1 个答案:

答案 0 :(得分:0)

订阅可观察对象将返回一个Subscription对象,该对象具有一个unsubscribe()方法,该方法不带任何参数,而只处理预订所拥有的资源。