我在下面有這段程式碼,我同時完成和添加,並且當我調用控制器時,我一直使用添加作為停止加載旋轉器的方法,因為這似乎是停止加載旋轉器的正確方法(如果存在)從控制器取得的呼叫存在一些問題,因為總是呼叫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; });
P粉1279012792023-09-16 14:52:06
Observable.subscribe 傳回一個 Subscription 對象,並且 Subscription.add< /a> 是一種告訴訂閱在取消訂閱時執行某些操作的方法。
Observer.complete 在可觀察物件被呼叫時被呼叫收聽成功完成。
因此,對於您的程式碼,.add()
效果更好,因為無論出現錯誤還是成功完成,都會呼叫它。