调用 forkJoin
时:
forkJoin(observableA, observableB)
.pipe(takeUntil(onDestroy$))
.pipe(takeUntil(onDestroy$))
当 Angular 中的组件被销毁时,被添加以释放 observables。这是否也在 observableA 和 obserableB 上调用?或者是否应该在传递给 forkJoin
的所有 observables 上单独调用它? ?
最佳答案
它将自动取消订阅源 observables。
一个 simple test确认。
import { of, interval, forkJoin } from 'rxjs';
import { map, takeUntil, delay, tap } from 'rxjs/operators';
const source1 = interval(200).pipe(tap(i => console.log(i)));
const source2 = interval(300).pipe(tap(i => console.log('a' + i)));
const stop = of('stop').pipe(delay(2000));
forkJoin(source1, source2).pipe(takeUntil(stop)).subscribe();
在 2 秒内记录值然后停止。
关于angular - forkJoin 上的 takeUntil 是否会调用 forkJoined observables 上的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59321809/