网站搜索

typescript - Angular 在 HTTP 404 错误时 subscribe 函数不触发


我一直在处理一些 Angular 代码。情况是这样的,我使用 Angular 的 http 客户端向 http://myapi.com/something/1 发出请求。如果 API 没有找到 id 为 1 的内容,它会返回 404 错误。这没问题。但是,出于某种原因,当我订阅这个 HTTP 调用并收到 404 错误时,订阅的 error 函数没有触发:

certificatesService
      .getDetail(id)
      .subscribe({
        next: (data) => {
          console.log(data);
        },
        error: (error) => console.log ('error', error) // never reaches this point
      });

我已经尝试过在 pipe 内使用 catchError 以及各种方法。什么都没有发生,也不知道还能尝试什么。

答案#1

像这样试试

certificatesService
      .getDetail(id)
      .subscribe(
        (data) => {
          console.log(data);
        },
        (error) => console.log ('error', error) 
      );