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 是一種告訴訂閱在取消訂閱時執(zhí)行某些操作的方法。
Observer.complete 在可觀察對象被調(diào)用時被調(diào)用收聽成功完成。
因此,對于您的代碼,.add()
效果更好,因為無論出現(xiàn)錯誤還是成功完成,都會調(diào)用它。