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));