该主题的文档稀疏,很难在此找到“入口点”。
语义因主题类型而异。我将它们分为两种:vanilla(Rx.Subject
)和特殊用途主题(其他三种)。专用主题由于其专业性(例如,完成/重新连接行为)而具有一些共同之处,因此具有一些香草主题的部分语义。
Vanilla Rx.Subject语义
主要特点
dispose
原型上具有处理程序的一次性界面)。这意味着,除其他外,它们具有: onNext
,onError
,onComplete
方法subscribe
方法.asObserver()
和.asObservable()
的实现。dispose
设置主题将取消所有观察者的订阅并释放资源。我引用了Rxjs合约和语法的一个关键方面:
该语法允许可观察的序列将任何数量(0或更多)的onNext消息发送到订阅的观察者实例,还可以选择后跟单个成功(onCompleted)或失败(onError)消息。
(由创建的new Rx.Subject()
)香草主题实现了该语法:onCompleted
被调用一次后,对的所有后续调用都将onNext
被忽略。onCompleted
同一观察者的第二次调用也将被忽略。如果观察者订阅了主题的可观察方,则其onComplete
回调将立即被调用。
创建
new Rx.Subject()
返回一个主题,该主题将其观察者与其可观察的对象连接起来。本示例摘自官方文档,并描绘了如何使用主题作为代理。该主题已订阅源(观察者侧),并且也被观察者(可观察侧)收听。对onNext
(观察者端)的任何调用都会导致可观察端onNext
为其每个观察者调用相同的值。
* `Rx.Subject.create(observer, observable)`
从指定的观察者创建一个可观察的主题。这两个不一定连接。可以看到一个很好的示例,该示例的实现Rx.Dom.fromWebSocket
返回一个主题,该主题用于从套接字发送和接收数据。主题的观察者侧将数据发送到套接字。可观察端用于侦听来自套接字的传入数据。此外,以这种方式创建的主题没有dispose
方法。
专门的Rx.Subject语义
reactivex.io
文档很好地涵盖了专业主题的大多数语义。希望我没有做错太多。我很乐意得到纠正。最后说明,这对于RxJS v4应该有效。
我试图将一个角度函数转换为可观察模式,因为它的当前实现与它有一些异步性。为了讨论这个问题,我们举一个简单的例子。 可以通过以下方式将其转换为使用可观察对象: 我所面临的问题(据我所知)是针对无法访问内部选择语句的情况。 如果使用常规主题,订阅函数肯定不会得到任何值,因为事件的顺序是: 函数被调用 主题已创建 值已设置 调用函数订阅,因此仅在此事件发生后获取值 如果使用了BehaviorSubjec
我们尝试使用BehaviorSubject跨多个组件共享API数据。在我的组件上,我触发一个HTTP请求,并在返回响应后更新主题。 组件技术 服务台 请求完成后,如何仅访问行为主体的最后发出的值?
我精通RxJS,并在Reactor framework(java)方面迈出了第一步。 Reactor中行为主体的等效物是什么? 或者与RxJS相比,Reactor中使用的模式完全不同吗?对于了解RxJS的人来说,有什么好的参考资料可以学习Reactor吗?
当我运行这个命令时,我得到2个主题。我知道我创建了测试主题,但我看到了一个名为“__consumer_offsets”的附加主题。从名称来看,它暗示它与消费者补偿有关,但它是如何使用的呢? 这在Kafka 1.1.0中发生,以及为什么有50个分区。也在寻找一种方法来禁用它,因为每次我尝试运行“description”主题时,它首先打印__consumer_offsets的50个分区,然后打印我的主
我不知道是我用错了方法,还是它根本没有真正改变。谁能告诉我它们之间的区别吗? 我还尝试actionMenuTextColor更改actionBar中的文本颜色,但没有任何结果。我找到了使用parent=“theme.appcompat.light.DarkActionBar”而不是单独使用parent=“theme.appcompat.light”的解决方案。但当然只会变成白色。如果有办法的话,我
问题内容: 在安全框架的上下文中, 主题 , 用户 和 主体 这几个词通常会出现,我无法找到一个清晰的定义以及它们之间的区别。 那么,这些术语的确切含义是什么?为什么需要对 主体 和 主体 进行这些区分? 问题答案: 这些是按照属,种和个体是分级的方式进行分级的。 主题 -在安全上下文中, 主题 是请求访问 对象的 任何实体。这些是通用术语,用于表示请求访问的事物和针对其进行请求的事物。当您登录到