直接上代码
const click$ = fromEvent(this.myButton.nativeElement, 'click');
const interval$ = interval(1000);
//merge 就是将两个流按时间顺序合并起来
click$.pipe(
merge(interval$)
).subscribe(
val => (console.log(val))
)
//map的作用使鼠标每点击一次,产生一个interval,要将每个interval产生的值打出,需要两次subscribe
click$.pipe(
map(() => interval$)).subscribe(
interval => interval.subscribe(
num => console.log(num)
)
)
//mergeAll将上述两次subscribe合并成一次(多阶降为一阶)
click$.pipe(
map(() => interval$),
mergeAll())
.subscribe(num => console.log(num));
//mergeMap合并了map和mergeAll
click$.pipe(
mergeMap(() => interval$))
.subscribe(num => console.log(num));