Ich habe diesen Code unten, den ich gleichzeitig erstellt und hinzugefügt habe, und ich habe add als Methode verwendet, um das Laden des Spinners zu stoppen, wenn ich den Controller aufrufe, da dies der richtige Weg zu sein scheint, das Laden des Spinners zu stoppen, wenn Es existiert ein Problem mit dem Aufruf vom Controller, da Add() immer aufgerufen wird.
Aber ich möchte wissen, was der Zweck von „complete“ ist und ob ich es anstelle von „add“ verwenden sollte, um zu verhindern, dass mein Spinner auf der Clientseite rotiert? Was ist der Unterschied zwischen Hinzufügen und Vervollständigen?
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()
效果更好,因为无论出现错误还是成功完成,都会调用它。