RxJs Subscription2025年3月17日 | 阅读 3 分钟 在学习 RxJS Subscription 之前,让我们看看什么是 RxJS subscribe 操作符。 什么是 RxJS Subscribe 操作符?RxJS Subscribe 操作符用作连接观察者和 Observable 的粘合剂或胶水。观察者必须首先订阅才能查看 Observable 发出的项目,或者接收来自 Observable 的错误或完成通知。 我们可以使用以下三种方法来实现 Subscribe 操作符 1. onNext() 方法 每当 Observable 发出一个项目时,Observable 就会调用 onNext() 方法。此方法将 Observable 发出的项目作为参数。 2. onError() 方法 Observable 调用 onError() 方法来指定它未能生成预期的数据或遇到其他一些错误。 当调用此方法时,它会停止 Observable,并且不会进一步调用 onNext 或 onCompleted。此方法使用其参数来指示错误的类型,有时是一个对象,如 Exception 或 Throwable,有时是一个简单的字符串,具体取决于实现。 3. onCompleted() 方法 当 Observable 必须最后一次调用 onNext 并且没有遇到任何错误时,它会调用 onCompleted() 方法。 Cold Observable vs. Hot Observable如果 Observable 在观察者订阅它之前不开始发出项目,则 Observable 被称为“冷” Observable。 另一方面, 如果 Observable 随时开始发出项目,并且订阅者在开始后的某个时间点开始观察发出的项目序列,则 Observable 被称为“热” Observable,错过了在订阅时间之前发出的任何项目。 什么是 RxJS Subscription?RxJS Subscription 是一个对象,用于表示可释放的资源,通常是 Observable 的执行。 当我们创建一个 observable 时,我们必须订阅它才能执行 observable。 Subscription 有一个重要的方法,称为 unsubscribe() 方法,该方法不带任何参数,仅用于释放/释放资源或取消 Subscription 所持有的资源的可观察执行。 注意:在 RxJS 的早期旧版本中,Subscription 称为“Disposable”。语法 RxJS Subscription 示例让我们看一些示例来了解 RxJS Subscription 的概念,并了解如何订阅 observable。 这里,我们使用 count() 操作符 示例 1 输出 The total count is 11 ![]() 我们知道 RxJS Subscription 也有一个重要的方法叫做 unsubscribe()。 unsubscribe() 方法用于删除用于该 observable 的所有资源,即 observable 将被取消。 让我们看另一个使用 unsubscribe() 方法的例子。 语法 示例 2 在这里,我们使用与上面相同的示例以及 unsunscribe() 方法。 输出 The total count is 11 ![]() 这里,Subscription 存储在名为“test”的变量中,因此我们使用了 test.unsubscribe() 应用 unsubscribe() 方法。 嵌套 Subscription我们可以将多个 Subscription 放在一起,这样如果我们调用一个 Subscription 的 unsubscribe(),它可能会取消多个 Subscription。 我们可以通过将一个 Subscription “添加”到另一个 Subscription 中来实现。请参见以下示例 示例 3 输出 This is second: 0 This is first: 0 This is second: 1 This is first: 1 This is second: 2 ![]() Subscription 也有一个 remove(otherSubscription) 方法,可以用来撤消子 Subscription 的添加。 下一个主题RxJS Subjects |
我们请求您订阅我们的新闻通讯以获取最新更新。