为什么要从 Angular 的解析器返回一个 Observable?这与简单地订阅组件本身的服务/存储中的方法有什么不同?我认为解析器的目的是确保数据在组件加载之前存在。
问问题
77 次
1 回答
1
从Angular.IO的文档中关于Resolve
:
解决
类可以实现为数据提供者的接口。数据提供者类可以与路由器一起使用,以在导航期间解析数据。该接口定义了一个
resolve()
导航开始时将调用的方法。然后路由器将等待数据被解析,然后路由最终被激活。
它与简单地subscribe
在组件本身的服务/存储中调用方法不同,因为在这种情况下,加载组件的路由已经被激活,并且之后将进行 API 调用。所以用户可能不得不等待数据加载。
现在,在大多数情况下,您一开始就不需要Resolve
。这只是您的 API 响应速度以及获取可能妨碍用户体验的数据的显着延迟的问题。
于 2020-01-03T01:05:54.913 回答