在我的组件模板中,我async在2个位置调用相同Observable的管道.
我应该订阅它并在我的模板中使用返回的数组,或者async在多个模板位置使用相同的Observable管道对性能没有负面影响?
share()运算符应用于BehaviorSubject.BehaviorSubject具有初始值.
目标是创建单个共享订阅.但是,当BehaviorSubject具有初始值时,此共享订阅似乎不起作用.
获得意外结果.
代码如下所示:
let subject = new Rx.BehaviorSubject(0);
let published = subject
.do(v => console.log("side effect"))
.share();
published.subscribe((v) => console.log(v+" sub1"));
published.subscribe((v) => console.log(v+" sub2"));
subject.next(1);
Run Code Online (Sandbox Code Playgroud)
结果:
"side effect"
"0 sub1"
"side effect"
"1 sub1"
"1 sub2"
Run Code Online (Sandbox Code Playgroud)
预期结果:
"side effect"
"0 sub1"
"1 sub1" <------------- this is missing from actual result
"side effect"
"1 sub1"
"1 sub2"
Run Code Online (Sandbox Code Playgroud)