0

为什么要从 Angular 的解析器返回一个 Observable?这与简单地订阅组件本身的服务/存储中的方法有什么不同?我认为解析器的目的是确保数据在组件加载之前存在。

4

1 回答 1

1

Angular.IO的文档中关于Resolve

解决

类可以实现为数据提供者的接口。数据提供者类可以与路由器一起使用,以在导航期间解析数据。该接口定义了一个resolve()导航开始时将调用的方法。然后路由器将等待数据被解析,然后路由最终被激活

它与简单地subscribe在组件本身的服务/存储中调用方法不同,因为在这种情况下,加载组件的路由已经被激活,并且之后将进行 API 调用。所以用户可能不得不等待数据加载。

现在,在大多数情况下,您一开始就不需要Resolve。这只是您的 API 响应速度以及获取可能妨碍用户体验的数据的显着延迟的问题。

于 2020-01-03T01:05:54.913 回答