RxPy 示例
在本章中,我们将详细讨论以下主题:
- 基本示例展示可观察对象、操作符的工作方式以及订阅观察者的方法。
- 可观察对象和主题之间的区别。
- 理解冷可观察对象和热可观察对象。
下面是一个基本示例,展示可观察对象、操作符的工作方式以及订阅观察者的方法。
示例
test.py
这里是一个非常简单的示例,在这个示例中,我从这个URL中获取用户数据:
https://jsonplaceholder.typicode.com/users.
筛选数据,只返回以”C”开头的姓名,然后使用map函数,只返回姓名。以下是相应的输出:
可观察和主题之间的区别
在这个示例中,我们将看到可观察和主题之间的区别。
输出
在上面的示例中,每次订阅observable时,它都会给你提供新的值。
主题示例
输出
如果您看到的是主题共享的值,两个订阅者之间的共享。
了解冷和热观察者
可观察对象被分类为
- 冷观察者
- 热观察者
当多个订阅者订阅时,将会注意到可观察对象的差异。
冷观察者
冷观察者是可观察对象,每次订阅时都会执行并呈现数据。当它被订阅时,可观察对象将被执行并得到新的值。
以下示例给出了对冷观察者的理解。
输出
在上述示例中,每次订阅可观察对象时,它都会执行可观察对象并发出值。正如上面的示例所示,订阅者之间的值也可以不同。
热可观察对象
在热可观察对象的情况下,它们会在准备好时发出值,而不总是等待订阅。当值被发出时,所有订阅者将获得相同的值。
当你希望在可观察对象准备好时发出值,或者希望将相同的值共享给所有订阅者时,可以使用热可观察对象。
热可观察对象的示例是Subject和可连接操作符。
输出
如果你看到,相同的值在订阅者之间是共享的。你可以使用publish()可连接的observable操作符来实现相同的效果。