gpt4 book ai didi

javascript - Rxjs 双工流

转载 作者:行者123 更新时间:2023-11-29 21:38:29 25 4
gpt4 key购买 nike

RxJs 有没有什么方法可以创建一个 Observable/Observer 对象,它具有接收事件和发出事件的逻辑,类似于 Rx.Subject 除了没有结合 Observable 和 Observer,所以当事件从 Observable 的主体内部发出,它们不由 Observer 主体函数处理。

像这样:

var someSystem = /* some system that receives and emits events */;

function someFn() {
return ObservableObserver((observer, observable) => {
observable.subscribe((e) => someSystem.emit(e));
someSystem.on("data", (d) => observer.onNext(d));
});
}

const mySystem = someFn();

mySystem.subscribe(
(e) => {
console.log("Received from 'someSystem':", e);
mySystem.onNext("sending this to 'someSystem'");
}
);

编辑:

我相信我正在寻找的类似于 Node.js 双工流:

https://nodejs.org/api/stream.html#stream_class_stream_duplex

最佳答案

如果我按照您的要求,您可以使用 Subject#create方法:

function someFn() {
return Subject.create(
Observer.create((e) => someSystem.emit(e)),
Observable.fromEvent(someSystem, 'data')
);
}

const mySystem = someFn()

source.subscribe(mySystem);

mySystem.subscribe((e) => {
console.log("Received from 'someSystem':", e);
});

关于javascript - Rxjs 双工流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34102603/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com