我在下面有这段代码,我同时完成和添加,并且当我调用控制器时,我一直使用添加作为停止加载旋转器的方法,因为这似乎是停止加载旋转器的正确方法(如果存在)从控制器获取的调用存在一些问题,因为总是调用 Add()。
但是我想知道complete的用途是什么,以及我是否应该使用它而不是add来阻止我的旋转器在客户端旋转?添加和完成有什么区别?
this.loadingSpinner = true; this.membersService.getMemberProfile().subscribe({ next: (v) => { // load profile into form }, error: (e) => { console.error(e); }, complete: () => { this.loadingSpinner = false; } }).add(() => { this.loadingSpinner = false; });
Observable.subscribe 返回一个 Subscription 对象,并且 Subscription.add 是一种告诉订阅在取消订阅时执行某些操作的方法。
Observer.complete 在可观察对象被调用时被调用收听成功完成。
因此,对于您的代码,
.add()
效果更好,因为无论出现错误还是成功完成,都会调用它。