iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Angular怎么实现错误处理和请求拦截
  • 784
分享到

Angular怎么实现错误处理和请求拦截

2023-07-04 20:07:24 784人浏览 安东尼
摘要

本篇内容主要讲解“angular怎么实现错误处理和请求拦截”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Angular怎么实现错误处理和请求拦截”吧!基本使用用 Angular 提供的 Http

本篇内容主要讲解“angular怎么实现错误处理和请求拦截”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Angular怎么实现错误处理和请求拦截”吧!

基本使用

用 Angular 提供的 HttpClient 可以很轻松的实现 api 接口的访问。

举个例子 新建一个 http.service.ts 可以在 environment 中配置不同环境的 host 地址

再贴一下 proxy.config.JSON 中有介绍到

{  "/api": {    "target": "http://124.223.71.181",    "secure": true,    "logLevel": "debug",    "changeOrigin": true,    "headers": {      "Origin": "http://124.223.71.181"    }  }}
import { HttpClient } from '@angular/common/http';import { Injectable } from '@angular/core';import { environment } from '@env';@Injectable({ providedIn: 'root' })export class httpservice {  constructor(private http: HttpClient) {}  public echoCode(method: 'get' | 'post' | 'delete' | 'put' | 'patch' = 'get', params: { code: number }) {    switch (method) {      case 'get':      case 'delete':        return this.http[method](`${environment.backend}/echo-code`, { params });      case 'patch':      case 'put':      case 'post':        return this.http[method](`${environment.backend}/echo-code`, params);    }  }}

然后在业务中 我们就可以这样使用

import { Component, OnInit } from '@angular/core';import { HttpService } from './http.service';@Component({  selector: 'http',  standalone: true,  templateUrl: './http.component.html',})export class HttpComponent implements OnInit {  constructor(private http: HttpService) {}  nGonInit(): void {    this.http.echoCode('get', { code: 200 }).subscribe(console.log);    this.http.echoCode('post', { code: 200 }).subscribe(console.log);    this.http.echoCode('delete', { code: 301 }).subscribe(console.log);    this.http.echoCode('put', { code: 403 }).subscribe(console.log);    this.http.echoCode('patch', { code: 500 }).subscribe(console.log);  }}

这看起来非常简单 类似 AxiOS

下面介绍一下一些常用的用法

错误处理

this.http  .echoCode('get', { code: 200 })  .pipe(catchError((err: HttpErrorResponse) => of(err)))  .subscribe((x) => {    if (x instanceof HttpErrorResponse) {      // do something    } else {      // do something    }  });

请求拦截

请求拦截是比较常用的

例如 你可以在这里判断 cookie 是否有效 / 全局错误处理 ...

新建 http-interceptor.ts 文件 ( 文件名可以随意 )

最主要的是要实现 HttpInterceptorintercept 方法

import { HttpInterceptor, HttpRequest, HttpHandler, HttpResponse, HttpErrorResponse } from '@angular/common/http';import { Injectable } from '@angular/core';import { Observable, of, throwError } from 'rxjs';import { filter, catchError } from 'rxjs/operators';import { HttpEvent } from '@angular/common/http';@Injectable()export class HttpInterceptorService implements HttpInterceptor {  constructor() {}  intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {    return next      .handle(req)      .pipe(filter((event) => event instanceof HttpResponse))      .pipe(        catchError((error) => {          console.log('catch error', error);          return of(error);        })      );  }}

然后在 module 中的 providers 中使用 这个拦截器就生效了

@NgModule({  imports: [RouterModule.forChild(routes)],  exports: [RouterModule],  providers: [    {      provide: HTTP_INTERCEPTORS,      useClass: HttpInterceptorService,      multi: true,    },  ],})export class XXXModule {}

到此,相信大家对“Angular怎么实现错误处理和请求拦截”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: Angular怎么实现错误处理和请求拦截

本文链接: https://www.lsjlt.com/news/347177.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Angular怎么实现错误处理和请求拦截
    本篇内容主要讲解“Angular怎么实现错误处理和请求拦截”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Angular怎么实现错误处理和请求拦截”吧!基本使用用 Angular 提供的 Http...
    99+
    2023-07-04
  • Angular学习之聊聊Http ( 错误处理 / 请求拦截 )
    本篇文章带大家继续angular的学习,简单了解一下Angular中的Http处理,介绍一下错误处理和请求拦截,希望对大家有所帮助!基本使用用 Angular 提供的 HttpClient 可以很轻松的实现 API 接口的访问。【相关教程推...
    99+
    2023-05-14
    Angular.js 前端
  • Android webview拦截请求,实现跨域处理
    重写WebViewClient 的 shouldInterceptRequest(),拦截请求,实现特殊处理(跨域处理)。 例如:拦截旧的url,替换域名,替换参数等,然后使用新url重新发起请求。 ...
    99+
    2023-09-20
    android okhttp webview 跨域请求
  • Angular怎么对请求进行拦截封装
    这篇“Angular怎么对请求进行拦截封装”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“A...
    99+
    2024-04-02
  • react axios请求拦截怎么实现
    本教程操作环境:Windows7系统、react17.0.1版、Dell G3电脑。react axios请求拦截怎么实现react 封装axios请求拦截、响应拦截、封装post、get请求默认你已经创建好了一个react项目首先我们需要...
    99+
    2022-11-22
    axios React
  • angular如何使用拦截器统一处理http请求和响应
    这篇文章给大家分享的是有关angular如何使用拦截器统一处理http请求和响应的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。想使用angularjs里的htpp向后台发送请求,...
    99+
    2024-04-02
  • vue中怎么实现一个路由拦截器和请求拦截器
    本篇文章给大家分享的是有关vue中怎么实现一个路由拦截器和请求拦截器,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。路由拦截器已路由为导向rou...
    99+
    2024-04-02
  • vue怎么实现请求拦截白名单
    前言在使用 Vue 进行开发的过程中,我们会遇到需要对网络请求进行拦截的情况,并且还需要排除一些请求不受拦截,即白名单。这篇文章将介绍 Vue 请求拦截白名单实现的方法。正文在使用 Vue 进行开发时,我们通常会使用 axios 发送网络请...
    99+
    2023-05-14
  • vue中怎么利用axios实现一个登录请求拦截器
    vue中怎么利用axios实现一个登录请求拦截器,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1.安装配置axioscnpm install ...
    99+
    2024-04-02
  • SpringBoot基于过滤器和内存实现重复请求拦截功能
    对于一些请求服务器的接口,可能存在重复发起请求,如果是查询操作倒是并无大碍,但是如果涉及到写入操作,一旦重复,可能对业务逻辑造成很严重的后果,例如交易的接口如果重复请求可能会重复下单...
    99+
    2023-01-30
    SpringBoot重复请求拦截 SpringBoot过滤器和内存
  • 微信小程序怎么封装网络请求和拦截器
    这篇文章主要介绍“微信小程序怎么封装网络请求和拦截器”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序怎么封装网络请求和拦截器”文章能帮助大家解决问题。1. 前言今天和合作伙伴对接代码的时候,...
    99+
    2023-07-05
  • vue+axios——创建多个实例共用请求拦截器和响应拦截器(403错误信息不提示bug解决)——基础积累
    创建多个实例共用请求拦截器和响应拦截器:使用的是函数的继承,也就是call()方法,这个方法第一个参数就是this,后面的参数可以是一个也可以是多个。最后一定要记得要return出去,否则接口是拿...
    99+
    2023-10-06
    axios axios实例共用请求和拦截器
  • RocketMQ怎么实现请求异步处理
    这篇文章主要介绍“RocketMQ怎么实现请求异步处理”,在日常操作中,相信很多人在RocketMQ怎么实现请求异步处理问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”RocketMQ怎么实现请求异步处理”的疑...
    99+
    2023-06-19
  • SpringBoot基于过滤器和内存如何实现重复请求拦截功能
    这篇文章主要介绍了SpringBoot基于过滤器和内存如何实现重复请求拦截功能的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SpringBoot基于过滤器和内存如何实现重复请求拦截功能文章都会有所收获,下面我们...
    99+
    2023-07-05
  • Ant Design Pro 5 网络请求和错误处理是怎样的
    本篇文章为大家展示了Ant Design Pro 5 网络请求和错误处理是怎样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Ant Design Pro 5 的网络请求有点复杂,只看文档不阅读源码...
    99+
    2023-06-26
  • Java过滤器和拦截器怎么实现
    这篇文章主要介绍“Java过滤器和拦截器怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java过滤器和拦截器怎么实现”文章能帮助大家解决问题。一、过滤器与拦截器相同点拦截器与过滤器都是体现了...
    99+
    2023-07-06
  • 怎么使用vue和axios实现登录拦截
    本篇内容主要讲解“怎么使用vue和axios实现登录拦截”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用vue和axios实现登录拦截”吧!该项目是利用了Github 提供的persona...
    99+
    2023-07-04
  • Angular中怎么实现自动化功能请求流程
    Angular中怎么实现自动化功能请求流程,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Angular 宣布将在接下来的几周内...
    99+
    2024-04-02
  • JavaScript中怎么实现错误处理
    JavaScript中怎么实现错误处理,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。使用 Promise 处理错误为了演示 Promise...
    99+
    2024-04-02
  • 在Go语言中如何解决并发网络请求的请求错误重试和容错处理问题?
    在Go语言中如何解决并发网络请求的请求错误重试和容错处理问题?随着互联网的高速发展,网络请求已经成为了日常开发中不可或缺的一部分。然而,网络请求并不总是成功的,可能会遇到各种错误。在并发请求中,这些错误很可能会导致整个程序的崩溃,因此我们需...
    99+
    2023-10-22
    并发:Concurrent 网络请求:HTTP request 容错处理:Fault tolerance
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作