@angular更新后,可观察原型扩展功能被破坏

时间:2018-03-15 12:43:57

标签: angular rxjs

在Angular应用程序中,我们使用一个名为“withBusy”的辅助函数扩展rxjs Observable原型,允许我们将这个辅助函数链接到Observables:

Observable.prototype.withBusy = function (busyMonitor) {
    // simplified implementation details
    return this.finally(function () {
       // simplified implementation details
    });
};

this.methodReturningObservable()
    .withBusy(this.busyMonitor)
    .subscribe(result => { alert(result); });

这个实现工作正常,直到我们将@angular NPM软件包从4.4.6更新到5.2.6。请注意,rxjs软件包的版本为5.5.6,并且更新。

在此次更新之后,实现可以在任何地方使用,除了,用于执行mergeMap的单个案例:

  let result: Observable<string>;
  result = Observable.from([1, 2])
            .mergeMap((value, idx) => "" + value)
            .withBusy(this.busyMonitor); // -> withBusy is not a function

  result.subscribe(e => {
      console.log(e);
  });

由于rxjs版本没有更新,我不知道为什么现在这个代码被破坏了。有什么想法吗?

谢谢你的时间, 柯恩

0 个答案:

没有答案