Angular 中的 Observable

2025年3月17日 | 阅读 3 分钟

Angular 中的 Observables,一个流行的框架和平台,用于使用 TypescriptHTML 的启动程序构建出色的单页客户端应用程序。 它主要用 Typescript 编写,Typescript 是 Javascript 的一个超集,允许您在应用程序中导入核心和可选功能。 因此,在进一步了解 Angular 中 Observable 的实现之前,让我们先深入了解一下什么是 Observables。

Angular 中的 Observable 是一项功能,它提供对在单页应用程序的不同部分之间传递消息的支持。 此功能在 Angular 中经常使用,因为它负责处理 Javascript 中的多个值、异步编程以及事件处理过程。

然而,观察者或可观察对象是一种软件范式,构成了一个被称为主题的对象的设计,该对象维护一个称为观察者的各种依赖项的列表。 每当您尝试更改状态时,这些依赖项都会自动收到通知。

Observable 的性质

Angular 中的 Observables 通常是声明式的,即,如果您打算定义一个用于值发布的函数。 在订阅之前,它不会被执行。 订阅者被称为 消费者,它会收到通知,直到该函数本身完成,或者直到他们手动取消订阅。

Observable 可用于传递任何类型的多个值,无论是文字事件、消息,具体取决于提供的上下文。 接收和传递值的过程是同步或异步的。 由于设置和分解由 observable 处理,您无需担心您的应用程序代码被订阅了消费者值或取消订阅。 无论是 HTTP 响应还是间隔计时器,用于侦听事件和停止事件的接口都将是相同的。 这增加了在开发过程中经常使用 observables 的优势。

用途

Angular 中 Observable 的基本用法是创建一个实例来定义一个 订阅者函数。 每当消费者想要执行该函数时,就会调用 subscribe() 方法。 此函数定义了如何获取要发布的消息和值。

要使用 observable,您所需要做的就是首先使用 subscribe() 方法创建通知,这通过传递观察者来完成,如前所述。 通知通常是 Javascript 对象,用于处理所有收到的通知。 此外,unsubscribe() 方法与 subscribing() 方法一起使用,以便您可以随时停止接收通知。

考虑下面的示例,其中包含每次订阅者订阅时都会进行的地理位置更新。

创建可观察对象

进行 API 集成以检查值

使用以下命令准备好数据以进行下一次订阅。

现在,使用 subscribe() 函数通过以下代码获取持续更新

设置 5 秒的时间间隔,通知将通过 API 集成自动停止。 考虑以下代码作为参考。

通知类型和说明

  1. Next:它在执行开始后被调用,次数为零或更多次。 这是一个强制性通知,用于捕获传递的每个值。
  2. Error:这是一个可选的处理程序,用于追逐错误通知。 此通知会在运行 observable 实例时停止执行。
  3. Complete:这是一个可选的处理程序,用于通知执行完成。 即使执行被标记为完成,当前延迟的值也会继续传递。

总结

在本文中,我们从头开始学习了 Observables,并通过一个示例了解了 subscribe() 和 unsubscribe() 方法在实际的地理位置应用程序中是如何工作的。 我们还了解了各种构成 API 集成技术的各种方法,通过这些方法可以定义时间间隔。 此外,我们还介绍了各种通知类型及其描述,这些描述专门用于订阅者使用 Observable 订阅或取消订阅时。