最终在订阅时可观察
2022-08-30 02:34:26
此运算符的当前“可管道”变体称为(自 RxJS 6 起)。调用了较旧的且现已弃用的“修补程序”运算符(直到 RxJS 5.5)。finalize()
finally()
我认为操作员实际上是正确的。你说:finalize()
仅在我订阅时以及流结束后执行该逻辑
我认为这不是问题。如果需要,您可以在订阅之前使用一个。这样,您就不需要始终使用:source
finalize()
finalize()
let source = new Observable(observer => {
observer.next(1);
observer.error('error message');
observer.next(3);
observer.complete();
}).pipe(
publish(),
);
source.pipe(
finalize(() => console.log('Finally callback')),
).subscribe(
value => console.log('#1 Next:', value),
error => console.log('#1 Error:', error),
() => console.log('#1 Complete')
);
source.subscribe(
value => console.log('#2 Next:', value),
error => console.log('#2 Error:', error),
() => console.log('#2 Complete')
);
source.connect();
这将打印到控制台:
#1 Next: 1
#2 Next: 1
#1 Error: error message
Finally callback
#2 Error: error message
2019 年 1 月:针对 RxJS 6 进行了更新
唯一对我有用的是这个
fetchData()
.subscribe(
(data) => {
//Called when success
},
(error) => {
//Called when error
}
).add(() => {
//Called when operation is complete (both success and error)
});