在rxjs中,如果调用了complete方法,我是否也应该调用取消订阅?
例如,我有一个来自rxjs的timer,我将其设置为5秒。
在调用订阅函数后,我是否也应该从计时器运行取消订阅?
import { timer } from "rxjs";
const token = timer(5 * 1000).subscribe({
next: () => {
console.log("xxx");
token.unsubscribe(); // <---- should I do it to to free memory?
我有一个ngrx存储,包含多个状态。我试图通过收集每个状态的数据来构造一个对象(Rent对象):下面是我的代码:
ngOnInit() {
//Fetch the rent and its properties data
const rentID = +this.route.snapshot.params['id'];
let rentState$ = this.store.select('rentState');
let clientState$ = this.store.select('clientState');
在RxJS中,可观测实例的catch方法和onErrorResumeNext方法似乎几乎没有区别,除了onErrorResumeNext将原始可观测参数与可观测参数连接起来之外,无论是否发生错误。
如果是这样的话,命名是不是有点混乱?因为在出现错误的情况下,onErrorResumeNext的工作方式与catch完全相同:
var testObservable = Rx.Observable.return(1).concat(Rx.Observable.throw("Error"))
// Both onError and onCatch will emit the same
我使用的是角5和rxjs。我正在打两个服务电话,一个取决于其他结果。我是用flatMap做的。我也在使用takeUntil,这样我就可以在任何给定的点上中止操作。我的代码如下所示:
this.myservice.api1(param1).pipe(takeUntil(this.destroyed$), finalize(() => {
//do something after both api calls are completed
},
flatMap((result1) => {
//do some operation and create object x(this.