gpt4 book ai didi

RxJS 管道 Finalize 运算符未被调用

转载 作者:行者123 更新时间:2023-12-05 09:12:28 28 4
gpt4 key购买 nike

import {
Observable,
BehaviorSubject
} from 'rxjs';
import {
finalize,
share
} from 'rxjs/operators'

export class someComponent() {

public count$ = new BehaviorSubject < any > (0);

public constructor() {
this.shareResponse()
.pipe(
finalize(() => {
console.log('finalize called');
}))
.subscribe((event: any) => {
// Do something
});
}
public shareResponse(): Observable < any > {
return this.count$.pipe(share());
}
public countChanged(event) {
this.count$.next(event);
}
}

HTML:

    <some-tag(countChanged) = (countChanged($event)) > < /some-tag>

最佳答案

BehaviorSubject 不会完成,除非您通过调用自己完成它this.count$.complete()。这就是 finalize() 没有发生的原因,因为它正在等待 Observable 完成。

查看 StackBlitz 上的代码示例,参见 link .

关于RxJS 管道 Finalize 运算符未被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58217842/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com