我最近开始使用RxJS,但无法找到有关以下方面的信息:
扫描可观察对象时,每个订阅都会为扫描操作添加新的迭代。
它看起来像是错误或错误的代码实现。
下面的链接演示了这一点:
https://codesandbox.io/s/fancy-bird-0m81p
我有3个订阅,这意味着扫描功能上有3个额外的循环。
注释掉订阅并在控制台窗口中查看更改。
这是预期的,是错误还是错误的实现?
如果可以的话,请链接到说明。还可以阻止这种情况发生吗?
谢谢!
答案 0 :(得分:0)
只需在@JB Nizet的评论中添加更多内容 共享的工作方式与以下代码示例
相似getShareObservable(){
const share = new Subject()
Store$.pipe(
scan((acc, curr) => {
console.log("Scanning...");
return Object.assign({}, acc, curr);
}, initialState).subscribe(share)
return share
}
const shareObservable=getShareObservable()
然后您的scan
将不会运行多次