首頁  >  問答  >  主體

RxJS Complete 與 Add 之間有什麼區別,對於載入旋轉器來說哪個更好?

我在下面有這段程式碼,我同時完成和添加,並且當我調用控制器時,我一直使用添加作為停止加載旋轉器的方法,因為這似乎是停止加載旋轉器的正確方法(如果存在)從控制器取得的呼叫存在一些問題,因為總是呼叫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粉649990273P粉649990273400 天前753

全部回覆(1)我來回復

  • P粉127901279

    P粉1279012792023-09-16 14:52:06

    Observable.subscribe 傳回一個 Subscription 對象,並且 Subscription.add< /a> 是一種告訴訂閱在取消訂閱時執行某些操作的方法。

    Observer.complete 在可觀察物件被呼叫時被呼叫收聽成功完成。

    因此,對於您的程式碼,.add() 效果更好,因為無論出現錯誤還是成功完成,都會呼叫它。

    回覆
    0
  • 取消回覆