我正在和RxJS一起玩,以了解热和冷可观察性。但是我对下面的代码给出的输出感到困惑:
const source$ = of(1,2,3,4).pipe(share());
source$.subscribe(i => console.log('first subscription',i));
setTimeout(() => source$.subscribe(j => console.log('second subscription',j)),
2000);
预期的输出是,第一个订阅打印1 2 3,4,而第二个订阅仅打印2,3,4。但是,两个订阅都输出1,2,3,4。
当我用间隔替换“ of”时,无论是否使用share()运算符,它都能正常工作