Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rxjs 基于ReplaySubject.asObservable()时map().take()是否重新执行_Rxjs - Fatal编程技术网

Rxjs 基于ReplaySubject.asObservable()时map().take()是否重新执行

Rxjs 基于ReplaySubject.asObservable()时map().take()是否重新执行,rxjs,Rxjs,我有一个缓冲区大小为1的ReplaySubject。我想知道,在映射通过调用let observable=subject.asObservable()创建的observable时,是否会为每个新缓冲区重新执行以下组合 observable.map((nextThing) => { console.log(nextThing, 'got one!'); }).take(1) 给定一个可观察的流,比如“嘿”,“杰伊”,“弗莱”唯一的输出是“Heygot one!”?“Hey got

我有一个缓冲区大小为1的
ReplaySubject
。我想知道,在映射通过调用
let observable=subject.asObservable()
创建的observable时,是否会为每个新缓冲区重新执行以下组合

observable.map((nextThing) => {
   console.log(nextThing, 'got one!');
 }).take(1)
给定一个可观察的
流,比如
“嘿”,“杰伊”,“弗莱”
唯一的输出是
“Heygot one!”

“Hey got one!”
就是所有要记录的内容

只要
take
收到第一个值,它就会完成并取消订阅-这也会看到
map
unsubscribe:

const subject=new Rx.ReplaySubject(1);
const observable=subject.asObservable();
可观察
.map((nextThing)=>console.log(nextThing,'got one!')
.采取(1)
.subscribe();
subject.next('Hey');
主题。下一个(“Jey”);
subject.next('Fley')
。作为控制台包装{最大高度:100%!重要;顶部:0;}