Angular 延遲重試和例外處理

想請教大家 RxJS 如何將設定延遲、最大重試次數和例外處理合併在一起

ex: 每隔一秒重試一次,最多重試五次,若還是出現例外則交給例外處理
下面是測試 code

this.http.get<Object[]>(this.url).pipe(
    tap({
    next: val => console.log("123"),
    error: error => console.error(error + " , " + new Date().toTimeString())
    }),
    retryWhen(errors => errors.pipe(delay(1000), take(5))),
    catchError(this.handleError)
);

private handleError(err: HttpErrorResponse) {
  if (error.error instanceof ErrorEvent) {
    // A client-side or network error occurred. Handle it accordingly.
    console.error('An error occurred:', error.error.message);
  } else {
    // The backend returned an unsuccessful response code.
    console.error(
      `Backend returned code ${error.status}, ` +
      `body was: ${error.error}`);
  }
  // return an observable with a user-facing error message
  return throwError(
    'Something bad happened; please try again later.');
}

上面的 code 會印出 6 次 “123”,5 次錯誤發生時間,但是不會執行 handleError
不知道要如何讓它可以在最後執行到 handleError ?

這寫法讓你參考看看