gpt4 book ai didi

javascript - 如何在 RxJS 5 中创建 Hot Observable

转载 作者:数据小太阳 更新时间:2023-10-29 06:15:22 25 4
gpt4 key购买 nike

我使用 RxJS 4 创建 Hot Observable,就像 official documentation 中描述的那样

但是RxJS 5 migration guid没有解释如何创建 Hot Observable。

const source = Observable.create((observer) => {
asynCall((data) => {
observer.onNext(data)
})
})
const published = source.publish()
published.connect()
published.subscribe((data) => {
console.log(data)
})

使用 Rx5 我遇到了以下错误:

未捕获的类型错误:source.publish 不是函数(...)

最佳答案

您可以使用 .publish().refCount()(或 .share() 作为别名)

var source = Rx.Observable.interval(1000)
.take(5)
.publish().refCount();

source.subscribe( item => console.log(`-: ${item}`));
setTimeout(() => {
source.subscribe( item => console.log(`--: ${item}`));
}, 2500);

http://jsbin.com/cupibitehu/1/edit?js,console

上面设置了两个订阅以表明延迟订阅将从当前发射发生的地方开始,而不是重播以前发射的结果。

记录以下内容

"-: 0"
"-: 1"
"-: 2"
"--: 2"
"-: 3"
"--: 3"
"-: 4"
"--: 4"

http://reactivex.io/rxjs/class/es6/Observable.js~Observable.html#instance-method-share

关于javascript - 如何在 RxJS 5 中创建 Hot Observable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37155781/

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