Angular RouteResolver 只在没有延迟的情况下工作,与 observable 有问题
Angular RouteResolver works only without delay, has issues with observable
当使用 resolve :{ key : ResolverService}
解析组件的一些数据时,如果 ResolverService
returns 一些数据立即(不使用 observable 或 promise),则组件按预期加载在 UI 上。但是,如果解析器返回 Observable,那么它就不会工作,即使 observable 获得了它的下一个值;
stackblitz 示例:
https://stackblitz.com/edit/ng-delayed-resolver-issue
guard 和 resolver 中返回 observable 的逻辑是一样的,但是 resolve 好像因为某些原因不起作用。
已经检查过了,没有太大帮助。
感谢对给定场景的任何帮助。谢谢
解析器返回的可观察对象必须完整。你的永远不会完成,所以导航永远不会发生。
定义延迟可观察对象(将完成)的更简单方法是使用延迟管道:
return of('data from delayed').pipe(delay(1000));
当使用 resolve :{ key : ResolverService}
解析组件的一些数据时,如果 ResolverService
returns 一些数据立即(不使用 observable 或 promise),则组件按预期加载在 UI 上。但是,如果解析器返回 Observable,那么它就不会工作,即使 observable 获得了它的下一个值;
stackblitz 示例:
https://stackblitz.com/edit/ng-delayed-resolver-issue
guard 和 resolver 中返回 observable 的逻辑是一样的,但是 resolve 好像因为某些原因不起作用。
已经检查过了
感谢对给定场景的任何帮助。谢谢
解析器返回的可观察对象必须完整。你的永远不会完成,所以导航永远不会发生。
定义延迟可观察对象(将完成)的更简单方法是使用延迟管道:
return of('data from delayed').pipe(delay(1000));