为什么 rxjs 不包含 onComplete
运算符,即允许在源可观察对象完成时执行某些操作的运算符? finalize
运算符适用于完成和错误,而我只需要对完成使用react。
是的,我知道我可以使用 subscribe()
函数的 onComplete
回调,但这是完全不同的东西。有时您只想在 rxjs 管道内完成时执行某些操作,而不是在 subscribe
调用内。
我错过了什么吗?
最佳答案
tap
运算符接受三个参数(值、错误、完成)
ons$.pipe(
tap(null, null, () => console.log("Done")),
).subscribe()
或者观察者,所以你可以这样做:
obs$.pipe(
tap({ complete: () => console.log("Done") })
).subscribe()
有关更多信息,请参阅运算 rune 档:https://rxjs-dev.firebaseapp.com/api/operators/tap
我会推荐观察者语法,因为这是 Ben Lesh 过去推荐的语法,因为它更具表现力。
关于rxjs - 为什么没有 onComplete() rxjs 运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58957464/