Rxpy 简明教程

RxPY - Overview

本章解释了响应式编程、RxPY 以及它的运算符、特性、优点和缺点。

What is Reactive Programming?

响应式编程是一种编程范例,用于处理数据流和变更传播。这意味着,当一个数据流由一个组件发出时,变更将会由一个响应式编程的库传播到其他组件。变更会持续传播,直到它到达最终接收器。

通过使用 RxPY,你可以很好地控制异步数据流,例如,可以利用可观察对象追踪对 URL 发出的请求,并使用观察器侦听请求完成以取得响应或错误信息。

RxPY 可让你使用 Observables 处理异步数据流,使用 Operators 查询数据流,即筛选、求和、连接、映射,还可利用 Schedulers 对数据流实现并发。创建一个可观察对象会提供一个观察器对象,其中有 on_next(v)、on_error(e) 和 on_completed() 方法,这些方法需要 subscribed ,以便我们在事件发生时获得通知。

observable

可观察对象可以使用管道运算符按链式格式利用多个运算符进行查询。

RxPY 在不同类别中提供运算符,例如: −

  1. Mathematical operators

  2. Transformation operators

  3. Filtering operators

  4. Error handling operators

  5. Utility operators

  6. Conditional operators

  7. Creation operators

  8. Connectable operators

本教程将详细解释这些运算符。

What is RxPy?

RxPy 定义为 使用Python 中的可观察对象集合和可管道查询运算符组合异步和事件驱动程序的库,这是 RxPy 官方网站中的定义,网址为 https://rxpy.readthedocs.io/en/latest/.

RxPY 是一个 Python 库,用于支持响应式编程。RxPy 代表 Reactive Extensions for Python 。它是一个库,使用可观察对象来处理响应式编程,用于处理异步数据调用、回调和事件驱动程序。

Features of RxPy

在 RxPy 中,以下概念用于处理异步任务 −

Observable

可观察对象是一个创建观察器并将其附加到预期的具有数据流的源的函数,例如推文、与计算机相关事件等。

Observer

它是一个对象,具有 on_next()、on_error() 和 on_completed() 方法,当可观察对象与可观察对象发生交互时,这些方法将被调用,即源与可观察对象进行交互,例如输入的推文等。

Subscription

当创建可观察对象时,我们需要订阅它以执行可观察对象。

Operators

运算符是一个纯函数,它获取可观察对象作为输入,并且输出也是一个可观察对象。你可以使用管道运算符对可观察数据对象使用多个运算符。

Subject

一个主题是一个可观察序列,同时也是一个观察器,它可以多播,即可以与订阅它的多个观察器进行通信。主题是一个冷可观察对象,这意味着值将在已订阅的观察器之间共享。

Schedulers

RxPy 的一个重要特性是并发,即允许任务并行执行。为了实现这一点,RxPy 有两个运算符 subscribe_on() 和 observe_on(),它们与调度程序一起工作,并将决定已订阅任务的执行。

Advantages of using RxPY

以下是 RxPy 的优点 −

  1. 在处理异步数据流和事件方面,RxPY 是一款非常棒的库。RxPY 使用可观察对象来处理响应式编程,用于处理异步数据调用、回调和事件驱动程序。

  2. RxPY 提供了大量数学、转换、过滤、实用程序、条件、错误处理、连接类别中的运算符,与响应式编程一起使用时可简化生活。

  3. 并发(即同时处理多项任务)是使用 RxPY 中的调度程序实现的。

  4. 使用 RxPY 改进了性能,因为这简化了异步任务和并行处理。

Disadvantage of using RxPY

  1. 使用可观察对象调试代码有点困难。