首页 > 解决方案 > 升级到 Angular 10 后,Angular 解析器停止工作

问题描述

我有一个类似于以下代码片段的解析器:

resolve(): Observable<any> {
    return new Observable<any>(observer => {
      this.store.select(selectNavDirection).pipe(
        concatMap(direction => this.callSomeService(direction)),
        take(1)
      ).subscribe(result=> {
        // ...some logic to handle result
        observer.complete();
      }, err => this.handleHttpErrors(err));
    });
  }

这曾经适用于 Angular 9;升级到 Angular 10 后,这停止了工作。我在里面放了一个调试器subscribe,我看到所有的代码都被执行了。

在角度升级指南中,我看到以下几点:

任何返回 EMPTY 的解析器都将取消导航。如果您希望继续导航,您将需要更新解析器以发出一些值(即 defaultIfEmpty(...)、of(...) 等)。

我认为这与我的代码停止工作的原因有关,但我看不到我要返回的任何地方EMPTY

知道为什么导航停止工作吗?

标签: angular10

解决方案


推荐阅读