什么是培根.js总线的RxJS等价物

What is the RxJS equivalent of Bacon.js bus?

本文关键字:RxJS 等价物 总线 js 什么      更新时间:2023-09-26

如何创建一个可以直接推送事件的可观察量,就像培根.js的总线一样?

RxJS 中的等效项称为 Subject。它既是观察者,也是可观察者。因此,要将事件推送到它,您可以使用它的 Observer 接口:onNext、onError 和 onCompleted 方法。然后,您可以订阅它,映射,压缩,像任何可观察对象一样对其进行过滤。以下是官方文档中的示例:

var subject = new Rx.Subject();
var subscription = subject.subscribe(
    function (x) { console.log('onNext: ' + x); },
    function (e) { console.log('onError: ' + e.message); },
    function () { console.log('onCompleted'); });
subject.onNext(1);
// => onNext: 1
subject.onNext(2);
// => onNext: 2
subject.onCompleted();
// => onCompleted
subscription.dispose();

您可以在此处查看主题入门指南,并在此处查看主题 API 文档。