gpt4 book ai didi

javascript - 在 Angular 2 的 Observable.prototype.subscribe 中完成回调

转载 作者:行者123 更新时间:2023-11-30 16:04:19 24 4
gpt4 key购买 nike

完整的回调没有按预期工作。让我解释一下:

看到这张图,注意subscribe方法中的complete回调。此 complete 函数仅在调用 observerOrNext 时调用。当发生某些错误时,不会调用 complete。这是对的?还有另一种方法可以获取在进程完成时始终调用的回调吗?

enter image description here

例子:

成功时:

this.getData(params)
.subscribe(
successData => {
// this is called
},
error => {
// this is not called. Ok!
},
() => { // when complete
// this is called, ok!
}
);

错误时:

this.getData(params)
.subscribe(
successData => {
// this is not called, ok!
},
error => {
// this is called. Ok! Yeah!
},
() => { // when complete
// this is not called, why god??
}
);

最佳答案

对于 rxjs 6 使用 pipe/finalize:

import { finalize } from 'rxjs/operators';

this.getData(params)
.pipe(
finalize(() => {
// this is called on both success and error
})
)
.subscribe(
(successData) => { },
(err) => { }
);

关于javascript - 在 Angular 2 的 Observable.prototype.subscribe 中完成回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37264778/

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