当前位置: 首页 > 知识库问答 >
问题:

subscribe做什么,它与可观察性有什么关系?

刁越
2023-03-14

什么是observable,为什么我们总是要调用observable.subscribe()

subscribe()实际上是做什么的?

共有1个答案

令狐高洁
2023-03-14

一个可观察的可以看作是一个数据源。这些数据可能存在(或不存在),并可能随着时间的推移而改变(或不存在)。

Observable发出数据,直到它不再发出数据,然后完成(有些Observable永远不会完成)或抛出异常(错误处理是Observable组合的一大部分)。

您可以使用诸如mapmergeswitchmap等操作符组合这些数据源或更改发出的数据。因此,一个数据源可以是另一个数据源的更改或许多其他数据源的组合。

正如我所说的,Observable是一个源,如果您想使用来自该源的数据,您需要subscribe()Observable,然后通知您发出的任何数据。

有两种可观察到的东西:冷的和热的。

  • 冷可观察项:这些可观察项在您订阅它们之前不会发出数据,基本上,数据在您请求之前是不存在的(例如Ajax请求)。
  • 热可观察项:这些可观察项不关心是否有订阅者在等待数据而开始发射。

因此,让我们用一个视频隐喻来思考可观察的

  • 一个冷的可观察的就像一个视频点播服务:当您要求时,视频就会被广播(subscribe())。
  • 一个热门的可观察的就像普通的电视:播放视频不考虑任何人是否要求。

什么?ConnectableObservable?你说只有两种可观察的。你是个骗子!

 类似资料:
  • 我试图理解可观察对象是如何执行的,但似乎无法让这个简单的代码正常工作。 不应该是你好。订阅()执行?

  • 问题内容: 最近,我看到了带有“ webkit”标签的问题。这些问题通常是与CSS,jQuery,布局,跨浏览器兼容性问题等有关的基于Web的问题。 那么,这是什么“ Webkit”,它与CSS有什么关系?我还注意到各种网站的源代码中有很多属性。这两个有关系吗? 更新资料 因此,从到目前为止的答案来看… WebKit是Safari / Chrome的HTML / CSS Web浏览器呈现引擎。是否

  • ChatGPT是由总部位于旧金山的公司 OpenAI构建。该公司负责创建GPT-3和DALL-E2 等软件

  • 我一直在努力学习什么是EJB bean,这意味着他们的实例在池中被管理,等等。真的不能很好地掌握它们。 你能给我解释一下它们到底是什么吗(实际上对于一个Java程序员来说)?他们是做什么的?他们的目的是什么?为什么要真正使用它们?(为什么不坚持?)也许是一个示例应用程序? 请仅参考更新的信息,即。关于EJB的过时信息可能具有误导性。 对于EJB学习初学者,请注意: EJB基于分布式对象,这是指运行

  • 对数据库进行查询和修改操作的语言叫做 SQL(Structured Query Language,结构化查询语言)。SQL 语言是目前广泛使用的关系数据库标准语言,是各种数据库交互方式的基础。 著名的大型商用数据库 Oracle、DB2、Sybase、SQL Server,开源的数据库 PostgreSQL、MySQL,甚至一些小型的数据库 Access 等都支持 SQL。近些年蓬勃发展的 NoS

  • 观察者模式是定义对象间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新。观察者模式又叫做发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。