RxPY 概述
本章介绍了什么是响应式编程,什么是RxPY,它的操作符、特性、优势和劣势。
什么是响应式编程
响应式编程是一种编程范式,处理数据流和变化传播。这意味着当一个组件发出数据流时,变化将通过响应式编程库传播到其他组件。变化的传播会一直持续到达最终接收器。
使用RxPY,您可以很好地控制异步数据流,例如,可以使用observable跟踪对URL的请求,并使用观察者监听请求完成时的响应或错误。
RxPY提供了处理异步数据流的能力,使用 Observables 处理数据流,使用 Operators 查询数据流(例如过滤、求和、连接、映射等),并使用 Schedulers 处理数据流的并发。创建一个Observable会给出一个观察者对象,其中包含on_next(v)、on_error(e)和on_completed()方法,需要 订阅 该对象,以便在事件发生时得到通知。
使用管道操作符,可以以链式格式查询Observable。
RxPY提供多个类别的操作符,包括:
- 数学操作符
-
转换操作符
-
过滤操作符
-
错误处理操作符
-
实用程序操作符
-
条件操作符
-
创建操作符
-
可连接操作符
这些操作符在本教程中进行了详细解释。
RxPy是什么?
RxPY被定义为Python中使用可观察集合和可管道查询操作符来组合异步和基于事件的程序的库,根据官方RxPy网站(https://rxpy.readthedocs.io/en/latest/)。
RxPY是一个支持响应式编程的Python库。RxPY代表 Python的响应式扩展 。它是一个使用可观察对象处理异步数据调用、回调和基于事件的程序的库。
RxPy的特点
RxPy使用以下概念处理异步任务:
Observable
可观察对象是一个函数,它创建一个观察者并将其附加到来自源的数据流上,例如推文,计算机相关事件等。
观察者
观察者是一个对象,它具有on_next(),on_error()和on_completed()方法,当与可观察对象即源进行交互时,例如接收推文等,将调用这些方法。
订阅
当创建可观察对象时,需要订阅它才能执行可观察对象。
操作符
操作符是一个纯函数,它以可观察对象作为输入,并且输出也是一个可观察对象。您可以使用 pipe 操作符对可观察数据使用多个操作符。
主题
主题是一个可观察序列和一个观察者,可以多播,即与订阅的多个观察者进行通信。主题是一个冷可观察对象,即已订阅的观察者之间的值将共享。
调度器
RxPy的一个重要特性是并发性,即允许任务并行执行。为了实现这一点,RxPy有两个运算符subscribe_on()和observe_on(),它们与调度器一起工作,并决定订阅任务的执行。
使用RxPY的优势
使用RxPY的优势如下:
- RxPY是一个非常棒的库,用于处理异步数据流和事件。RxPY使用可观察对象来处理与异步数据调用、回调和基于事件的程序有关的反应式编程。
- RxPY提供了大量的操作符,包括数学、转换、过滤、实用、条件、错误处理和连接等类别,使用这些操作符与反应式编程结合使用可以让生活变得更加容易。
- 使用RxPY可以通过调度器实现并发,即同时处理多个任务。
- 使用RxPY可以改善性能,因为处理异步任务和并行处理变得更加容易。
使用RxPY的缺点
- 使用可观察对象进行调试稍微有些困难。