Table des matières
Utilisation de base
错误处理
请求拦截
🎜Demande d'interception🎜🎜🎜Demande d'interception est plus couramment utilisé🎜🎜Par exemple, vous pouvez juger si le cookie est valide/gestion globale des erreurs ici...🎜🎜Créez un nouveau fichier http-interceptor.ts (le nom du fichier peut être arbitraire )🎜🎜Le plus important est d'implémenter la méthode intercept de HttpInterceptor🎜rrreee🎜Ensuite, utilisez cet intercepteur dans les fournisseurs du module pour prendre effet🎜rrreee🎜Pour en savoir plus connaissances liées à la programmation, veuillez visiter :🎜Enseignement de la programmation 🎜 ! ! 🎜" >🎜Gestion des erreurs🎜🎜rrreee

🎜Demande d'interception🎜🎜🎜Demande d'interception est plus couramment utilisé🎜🎜Par exemple, vous pouvez juger si le cookie est valide/gestion globale des erreurs ici...🎜🎜Créez un nouveau fichier http-interceptor.ts (le nom du fichier peut être arbitraire )🎜🎜Le plus important est d'implémenter la méthode intercept de HttpInterceptor🎜rrreee🎜Ensuite, utilisez cet intercepteur dans les fournisseurs du module pour prendre effet🎜rrreee🎜Pour en savoir plus connaissances liées à la programmation, veuillez visiter :🎜Enseignement de la programmation 🎜 ! ! 🎜

Maison interface Web js tutoriel Angular Learning Chat Http (gestion des erreurs/interception des demandes)

Angular Learning Chat Http (gestion des erreurs/interception des demandes)

Dec 16, 2022 pm 07:36 PM
前端 angular.js

Cet article vous amènera à continuer à apprendre Angular, à comprendre brièvement le traitement Http dans Angular et à présenter la gestion des erreurs et l'interception des demandes. J'espère qu'il sera utile à tout le monde !

Angular Learning Chat Http (gestion des erreurs/interception des demandes)

Utilisation de base

Grâce au HttpClient fourni par Angular, vous pouvez facilement accéder à l'interface API. [Tutoriels associés recommandés : "Tutoriel angulaire"]

Par exemple, créez un nouveau http.service.ts Vous pouvez configurer les adresses d'hôte de différents environnements dans environnement<code>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"
    }
  }
}
Copier après la connexion
import { HttpClient } from &#39;@angular/common/http&#39;;
import { Injectable } from &#39;@angular/core&#39;;
import { environment } from &#39;@env&#39;;

@Injectable({ providedIn: &#39;root&#39; })
export class HttpService {
  constructor(private http: HttpClient) {}

  public echoCode(method: &#39;get&#39; | &#39;post&#39; | &#39;delete&#39; | &#39;put&#39; | &#39;patch&#39; = &#39;get&#39;, params: { code: number }) {
    switch (method) {
      case &#39;get&#39;:
      case &#39;delete&#39;:
        return this.http[method](`${environment.backend}/echo-code`, { params });
      case &#39;patch&#39;:
      case &#39;put&#39;:
      case &#39;post&#39;:
        return this.http[method](`${environment.backend}/echo-code`, params);
    }
  }
}
Copier après la connexion

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

import { Component, OnInit } from &#39;@angular/core&#39;;
import { HttpService } from &#39;./http.service&#39;;

@Component({
  selector: &#39;http&#39;,
  standalone: true,
  templateUrl: &#39;./http.component.html&#39;,
})
export class HttpComponent implements OnInit {
  constructor(private http: HttpService) {}
  ngOnInit(): void {
    this.http.echoCode(&#39;get&#39;, { code: 200 }).subscribe(console.log);
    this.http.echoCode(&#39;post&#39;, { code: 200 }).subscribe(console.log);
    this.http.echoCode(&#39;delete&#39;, { code: 301 }).subscribe(console.log);
    this.http.echoCode(&#39;put&#39;, { code: 403 }).subscribe(console.log);
    this.http.echoCode(&#39;patch&#39;, { code: 500 }).subscribe(console.log);
  }
}
Copier après la connexion

这看起来非常简单 类似 Axios

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

错误处理

this.http
  .echoCode(&#39;get&#39;, { code: 200 })
  .pipe(catchError((err: HttpErrorResponse) => of(err)))
  .subscribe((x) => {
    if (x instanceof HttpErrorResponse) {
      // do something
    } else {
      // do something
    }
  });
Copier après la connexion

请求拦截

请求拦截是比较常用的

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

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

最主要的是要实现 HttpInterceptorintercept

Postez-le à nouveau proxy.config.json Il a été introduit dans le chapitre 1

import { HttpInterceptor, HttpRequest, HttpHandler, HttpResponse, HttpErrorResponse } from &#39;@angular/common/http&#39;;
import { Injectable } from &#39;@angular/core&#39;;
import { Observable, of, throwError } from &#39;rxjs&#39;;
import { filter, catchError } from &#39;rxjs/operators&#39;;
import { HttpEvent } from &#39;@angular/common/http&#39;;

@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(&#39;catch error&#39;, error);
          return of(error);
        })
      );
  }
}
Copier après la connexion
@NgModule({
  imports: [RouterModule.forChild(routes)],
  exports: [RouterModule],
  providers: [
    {
      provide: HTTP_INTERCEPTORS,
      useClass: HttpInterceptorService,
      multi: true,
    },
  ],
})
export class XXXModule {}
Copier après la connexion
Ensuite, nous pouvons l'utiliser comme ça en entreprise

rrreeeCela semble très simple et similaire à Axios

Voici quelques usages courants🎜

🎜Demande d'interception🎜🎜🎜Demande d'interception est plus couramment utilisé🎜🎜Par exemple, vous pouvez juger si le cookie est valide/gestion globale des erreurs ici...🎜🎜Créez un nouveau fichier http-interceptor.ts (le nom du fichier peut être arbitraire )🎜🎜Le plus important est d'implémenter la méthode intercept de HttpInterceptor🎜rrreee🎜Ensuite, utilisez cet intercepteur dans les fournisseurs du module pour prendre effet🎜rrreee🎜Pour en savoir plus connaissances liées à la programmation, veuillez visiter :🎜Enseignement de la programmation 🎜 ! ! 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Un article pour parler du contrôle de la mémoire dans Node Un article pour parler du contrôle de la mémoire dans Node Apr 26, 2023 pm 05:37 PM

Le service Node construit sur une base non bloquante et piloté par les événements présente l'avantage d'une faible consommation de mémoire et est très adapté à la gestion de requêtes réseau massives. Dans le contexte de demandes massives, les questions liées au « contrôle de la mémoire » doivent être prises en compte. 1. Le mécanisme de récupération de place du V8 et les limitations de mémoire Js sont contrôlés par la machine de récupération de place

Parlons en profondeur du module File dans Node Parlons en profondeur du module File dans Node Apr 24, 2023 pm 05:49 PM

Le module de fichiers est une encapsulation des opérations de fichiers sous-jacentes, telles que l'ajout de lecture/écriture/ouverture/fermeture/suppression de fichiers, etc. La plus grande caractéristique du module de fichiers est que toutes les méthodes fournissent deux versions de **synchrone** et ** asynchrone**, with Les méthodes avec le suffixe sync sont toutes des méthodes de synchronisation, et celles qui n'en ont pas sont toutes des méthodes hétérogènes.

Découvrez comment écrire des tests unitaires dans Vue3 Découvrez comment écrire des tests unitaires dans Vue3 Apr 25, 2023 pm 07:41 PM

Vue.js est devenu aujourd'hui un framework très populaire dans le développement front-end. À mesure que Vue.js continue d'évoluer, les tests unitaires deviennent de plus en plus importants. Aujourd'hui, nous allons explorer comment écrire des tests unitaires dans Vue.js 3 et fournir quelques bonnes pratiques ainsi que des problèmes et solutions courants.

PHP et Vue : une combinaison parfaite d'outils de développement front-end PHP et Vue : une combinaison parfaite d'outils de développement front-end Mar 16, 2024 pm 12:09 PM

PHP et Vue : une combinaison parfaite d'outils de développement front-end À l'ère actuelle de développement rapide d'Internet, le développement front-end est devenu de plus en plus important. Alors que les utilisateurs ont des exigences de plus en plus élevées en matière d’expérience des sites Web et des applications, les développeurs front-end doivent utiliser des outils plus efficaces et plus flexibles pour créer des interfaces réactives et interactives. En tant que deux technologies importantes dans le domaine du développement front-end, PHP et Vue.js peuvent être considérés comme une arme parfaite lorsqu'ils sont associés. Cet article explorera la combinaison de PHP et Vue, ainsi que des exemples de code détaillés pour aider les lecteurs à mieux comprendre et appliquer ces deux éléments.

Comment résoudre les problèmes cross-domaines ? Une brève analyse des solutions courantes Comment résoudre les problèmes cross-domaines ? Une brève analyse des solutions courantes Apr 25, 2023 pm 07:57 PM

Le cross-domaine est un scénario souvent rencontré en développement, et c'est également une question souvent abordée lors des entretiens. La maîtrise des solutions interdomaines communes et des principes qui les sous-tendent peut non seulement améliorer notre efficacité de développement, mais également mieux performer lors des entretiens.

Questions fréquemment posées par les enquêteurs front-end Questions fréquemment posées par les enquêteurs front-end Mar 19, 2024 pm 02:24 PM

Lors des entretiens de développement front-end, les questions courantes couvrent un large éventail de sujets, notamment les bases HTML/CSS, les bases JavaScript, les frameworks et les bibliothèques, l'expérience du projet, les algorithmes et les structures de données, l'optimisation des performances, les requêtes inter-domaines, l'ingénierie front-end, les modèles de conception et les nouvelles technologies et tendances. Les questions de l'intervieweur sont conçues pour évaluer les compétences techniques du candidat, son expérience en matière de projet et sa compréhension des tendances du secteur. Par conséquent, les candidats doivent être parfaitement préparés dans ces domaines pour démontrer leurs capacités et leur expertise.

Comment utiliser le langage Go pour le développement front-end ? Comment utiliser le langage Go pour le développement front-end ? Jun 10, 2023 pm 05:00 PM

Avec le développement de la technologie Internet, le développement front-end est devenu de plus en plus important. La popularité des appareils mobiles, en particulier, nécessite une technologie de développement frontal efficace, stable, sûre et facile à entretenir. En tant que langage de programmation en développement rapide, le langage Go est utilisé par de plus en plus de développeurs. Alors, est-il possible d’utiliser le langage Go pour le développement front-end ? Ensuite, cet article expliquera en détail comment utiliser le langage Go pour le développement front-end. Voyons d’abord pourquoi le langage Go est utilisé pour le développement front-end. Beaucoup de gens pensent que le langage Go est un

En savoir plus sur les tampons dans Node En savoir plus sur les tampons dans Node Apr 25, 2023 pm 07:49 PM

Au début, JS ne fonctionnait que du côté du navigateur. Il était facile de traiter les chaînes codées en Unicode, mais il était difficile de traiter les chaînes binaires et non codées en Unicode. Et le binaire est le format de données le plus bas du package ordinateur, vidéo/audio/programme/réseau.

See all articles