Почему в Promise не отрабатывает ошибку?

У меня есть сервис package-requests.service.ts, где реализован get запрос:

  async getCompanyCurrentPackage(companyId: string): Promise<PackageRest> {
    const url = `companies/${companyId}/packages/current`;
    return await this.apiService.get<PackageRest>(url);
  }

Реализация api.service.ts

async get<T>(
    urlPath: string = '',
    headers: HttpHeaders = null,
    params: HttpParams = null,
    extras: any = null
  ) {
    const url = `${this.baseUrl}/${urlPath}`;
    try {
      const getResult = await this.http
        .get<T>(url, this.getOptions(headers, params, extras))
        .toPromise();
      return getResult;
    } catch (response) {
      throw this.mapError(response);
    }
  }

И компонент, где вызываю его settings-package.component.ts

  getPackageRest() {
    this.packageCalculation = undefined;
    this.packageResponseStatus = PackageStatus.Loading;
    this.packageRequestsService.getCompanyCurrentPackage(this.companyId)
      .then((data: PackageRest) => {
        this.packageRest = data;
        !!this.packageRest?.totalCost ?
          this.packageResponseStatus = PackageStatus.Success :
          this.packageResponseStatus = PackageStatus.NotFound;
        this.analytics.logEvent('JBundleview_Show', {version: 1, Status: '204'});
      }).catch(e => {
        if (e.status === 403) {
          this.packageResponseStatus = PackageStatus.Forbidden;
          this.analytics.logEvent('JBundleview_Show', {version: 1, Status: '403'});
        } else {
          this.packageResponseStatus = PackageStatus.Error;
          this.analytics.logEvent('JBundleview_Show', {version: 1, Status: '50x'});
      }
    });
  }

Когда отрабатывается запрос, бэк возвращает 403 ошибку, но ошибка не отлавливается блоком catch. Почему? Помогите пожалуйста


Ответы (0 шт):