例如,以下代码最多重试 HTTP 请求三次,每次重试之间延迟一秒。服务中的单例模式 单例模式是一种设计模式,它将类的实例化限制为单个实例,并提供对同一实例的全局访问点。它通常用导致问题的情况。 Angular 默认遵循单例模式。这意味着,每当将服务注入新组件或另一个服务时,整个应用程序都会使用该服务的同一实例。
使用单例模式可简化应用程序的架构并减少出现错误的德国电报放映可能性。它还可使整个应用程序的服务数据只有一个来源。 使用服务在组件之间进行通信 一旦应用程序变得复杂,应用程序内的各个组件通常需要相互通信。应用程序内有多种方式与不同的组件进行通信。 Angular 提供了几种现成的机制来实现这一点,但在具有许多互连组件的大型应用程序中,这些机制可能变得繁琐且难以管理。
这就是服务的作用所在。 服务充当集中式通信系统,用于促进通信。组件使用服务向其他组件发送消息或数据,然后接收它们。 在 Angular 中使用服务实现通信的一种常见模式是使用主题和可观察对象。主题是一种可观察对象,允许将值推送给它,而不仅仅是能够订阅这些值。让我们看一个例子来了解这种情况。个装饰器告诉 Angular 在应用程序的根级别注册自定义服务,从而允许在应用程序的任何组件中通过依赖注入使用该服务。