Comment encapsuler les requêtes réseau angulaires
Cette fois, je vais vous montrer comment encapsuler les requêtes réseau Angular et quelles sont les précautions lors de l'encapsulation des requêtes réseau Angular. Ce qui suit est un cas pratique, jetons un coup d'oeil.
Ici, je vais parler de ma propre encapsulation de demande réseau. Dans un sens, la propre encapsulation de demande réseau d'Angular est très bonne. Nous n'avons pas besoin d'ajouter de détails superflus. J'ai un peu de mal. Je suis un maniaque du code et j'aime mon propre style, donc j'ai ce truc en plus.
Demande de réseau d'Angular
Voici les propres requêtes de réseau d'Angular.
url représente l'adresse de la requête réseau,
param networkParamètre de requête
-
Configuration de la demande réseau, par exemple : demande de première classe
this.http.post(url, param, config).subscribe( (res) => { //...请求成功 }, (err) => { //...请求失败 }, () => { //...请求完成 } );
Souvent, je pense qu'il est très difficile d'écrire les paramètres dans l'abonnement pour chaque demande, ou il semble que Je n'aime pas ça, alors j'encapsule généralement un nouveau service pour moi-même. Dans le même temps, une nouvelle interface est implémentée pour chaque composant devant effectuer des requêtes réseau. Beaucoup d'entre elles sont des idées de conception dérivées du langage Java.
Une interface réseau
Créez ici une interface réseau pour compléter le rappel des requêtes réseau.
export interface OnHttpImp { onResult(result: HttpResult, code?: number): void; onError?(err:any): void; onComplete?(): void; } export class HttpResult { code?: number; data?: any; msg?: string; }
L'interface OnHttpImp crée trois méthodes, à savoir onResult, onError et onComplete. OnComplete et onError sont facultatifs et onResult doit être implémenté. Les trois fonctions ici sont utilisées pour compléter les trois rappels de http.
Ensuite, la requête réseau ci-dessus peut être déplacée vers le nouveau service CommonService, et elle deviendra comme ceci :
public post(url: string, param: FormData, callback: OnHttpImp, code?: number) { url = Config.base + url; const headers = new Headers(); headers.append('Content-Type', 'application/x-www-form-urlencoded'); this.http.post(url, param, {}).subscribe( (res) => { if (code) { callback.onResult(res, code); } else { callback.onResult(res); } }, (err) => { console.log(url + '===>' + JSON.stringify(err)); }, () => { if (callback.onComplete) { callback.onComplete(); } } ); }
Il n'est pas nécessaire d'expliquer l'url et le paramètre ici, rappel Il s'agit d'une instance de OnHttpImp. Sa fonction est de rappeler les données renvoyées par la requête réseau au composant correspondant, afin que le traitement des données et les requêtes réseau puissent être séparés. le code est un identifiant utilisé pour distinguer les données lors de l'envoi de plusieurs requêtes dans un composant.
HttpResult est une classe qui renvoie les données des requêtes réseau. Elle est utilisée pour faciliter le traitement des données et peut être personnalisée et encapsulée de manière appropriée en fonction de votre propre type de retour de données.
Le composant appelé
Regardez d'abord le code :
export class LoginComponent implements OnInit, OnHttpImp { public validateForm: FormGroup; public username_control: AbstractControl; public password_control: AbstractControl; constructor(private fb: FormBuilder, private http: HttpUtil) { } ngOnInit() { this.validateForm = this.fb.group({ 'userName': [null, [Validators.required]], 'password': [null, [Validators.required]], remember: [true], }); this.username_control = this.validateForm.controls['userName']; this.password_control = this.validateForm.controls['password']; } _submitForm() { const params = new FormData(); const md5 = new Md5(); const password = md5.appendStr(this.password_control.value).end(); params.set('username', this.username_control.value); params.set('password', password.toString()); this.http.post('/user/login', params, this); } onResult(result: HttpResult, code?: number): void { //如果多个网络请求,需要传入code值,根据code值来判断请求来源 //swthch(code){ // case 100: // // break; //} // 如果单个请求,直接处理请求结果。 // console.log(result) } }
L'objet OnHttpImp transmis par le http ci-dessus request est this , cela signifie que le composant LoginComponnt doit implémenter l'interface OnHttpImp, puis implémenter les fonctions onResult, onError et onComplete.
De cette façon, la requête http et le traitement des données peuvent être séparés, ce qui rend le code lisible et concis. Le sexe a été grandement amélioré.
Autre méthode d'encapsulation
Vous pouvez utiliser celle qui est transmise lors de l'appel de la requête réseau dans le composant ci-dessus . Une classe unifiée MCallback est utilisée à la place pour traiter uniformément les données renvoyées.
Vous pouvez regrouper toutes les requêtes réseau dans un seul service et les demander en appelant le nom de la méthode. Cela peut réaliser le couplage de plusieurs requêtes réseau, mais je pense personnellement que c'est un peu excessif. encapsulé.
Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !
Lecture recommandée :
Comment utiliser nodejs express pour configurer un serveur https auto-signé
Comment créer un petit programme avec mpvue
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Sujets chauds





Si vous rencontrez soudainement une connexion Internet lente sous Windows 11 et que vous avez essayé toutes les astuces du livre, cela n'a peut-être rien à voir avec votre réseau et tout à voir avec votre unité de transmission maximale (MTU). Des problèmes peuvent survenir si votre système envoie ou reçoit des données avec une taille MTU incorrecte. Dans cet article, nous apprendrons comment modifier la taille du MTU sous Windows 11 pour une connexion Internet fluide et ininterrompue. Quelle est la taille MTU par défaut dans Windows 11 ? La taille MTU par défaut dans Windows 11 est de 1 500, ce qui correspond au maximum autorisé. MTU signifie unité de transmission maximale. Il s'agit de la taille maximale des paquets pouvant être envoyés ou reçus sur le réseau. chaque réseau de soutien
![Le module d'extension WLAN s'est arrêté [correctif]](https://img.php.cn/upload/article/000/465/014/170832352052603.gif?x-oss-process=image/resize,m_fill,h_207,w_330)
S'il y a un problème avec le module d'extension WLAN sur votre ordinateur Windows, cela peut entraîner une déconnexion d'Internet. Cette situation est souvent frustrante, mais heureusement, cet article propose quelques suggestions simples qui peuvent vous aider à résoudre ce problème et à rétablir le bon fonctionnement de votre connexion sans fil. Réparer le module d'extensibilité WLAN s'est arrêté Si le module d'extensibilité WLAN a cessé de fonctionner sur votre ordinateur Windows, suivez ces suggestions pour le réparer : Exécutez l'utilitaire de résolution des problèmes réseau et Internet pour désactiver et réactiver les connexions réseau sans fil Redémarrez le service de configuration automatique WLAN Modifier les options d'alimentation Modifier Paramètres d'alimentation avancés Réinstaller le pilote de la carte réseau Exécuter certaines commandes réseau Examinons-le maintenant en détail

Nous devons utiliser le DNS correct lors de la connexion à Internet pour accéder à Internet. De la même manière, si nous utilisons des paramètres DNS incorrects, cela entraînera une erreur du serveur DNS. À ce stade, nous pouvons essayer de résoudre le problème en sélectionnant d'obtenir automatiquement le DNS dans les paramètres réseau. solutions. Comment résoudre l'erreur du serveur DNS du réseau Win11. Méthode 1 : Réinitialiser le DNS 1. Tout d'abord, cliquez sur Démarrer dans la barre des tâches pour entrer, recherchez et cliquez sur le bouton icône « Paramètres ». 2. Cliquez ensuite sur la commande d'option "Réseau et Internet" dans la colonne de gauche. 3. Recherchez ensuite l'option « Ethernet » sur la droite et cliquez pour entrer. 4. Après cela, cliquez sur "Modifier" dans l'attribution du serveur DNS et définissez enfin DNS sur "Automatique (D

Qu'est-ce que le problème « Échec du téléchargement de l'erreur réseau » ? Avant d’aborder les solutions, comprenons d’abord ce que signifie le problème « Échec du téléchargement de l’erreur réseau ». Cette erreur se produit généralement lorsque la connexion réseau est interrompue pendant le téléchargement. Cela peut se produire pour diverses raisons telles qu'une faible connexion Internet, une congestion du réseau ou des problèmes de serveur. Lorsque cette erreur se produit, le téléchargement s'arrêtera et un message d'erreur s'affichera. Comment réparer l’échec du téléchargement avec une erreur réseau ? Faire face à « Échec du téléchargement d'une erreur réseau » peut devenir un obstacle lors de l'accès ou du téléchargement des fichiers nécessaires. Que vous utilisiez des navigateurs comme Chrome ou des plateformes comme Google Drive et Google Photos, cette erreur apparaîtra, provoquant des désagréments. Vous trouverez ci-dessous des points pour vous aider à naviguer et à résoudre ce problème.

Si WDMyCloud n'apparaît pas sur le réseau sous Windows 11, cela peut être un gros problème, surtout si vous y stockez des sauvegardes ou d'autres fichiers importants. Cela peut constituer un gros problème pour les utilisateurs qui ont fréquemment besoin d'accéder au stockage réseau. Dans le guide d'aujourd'hui, nous allons donc vous montrer comment résoudre ce problème de manière permanente. Pourquoi WDMyCloud n'apparaît-il pas sur le réseau Windows 11 ? Votre appareil MyCloud, votre adaptateur réseau ou votre connexion Internet n'est pas configuré correctement. La fonction SMB n'est pas installée sur l'ordinateur. Un problème temporaire dans Winsock peut parfois être à l'origine de ce problème. Que dois-je faire si mon cloud n'apparaît pas sur le réseau ? Avant de commencer à résoudre le problème, vous pouvez effectuer quelques vérifications préliminaires :

Cet article présentera la solution au problème selon lequel le symbole du globe s'affiche sur le réseau du système Win10 mais ne peut pas accéder à Internet. L'article fournira des étapes détaillées pour aider les lecteurs à résoudre le problème du réseau Win10 montrant que la Terre ne peut pas accéder à Internet. Méthode 1 : Redémarrez directement. Vérifiez d'abord si le câble réseau n'est pas correctement branché et si le haut débit est en retard. Dans ce cas, vous devez redémarrer le routeur ou le modem optique. Si aucune action importante n'est effectuée sur l'ordinateur, vous pouvez redémarrer l'ordinateur directement. La plupart des problèmes mineurs peuvent être rapidement résolus en redémarrant l'ordinateur. S’il est déterminé que le haut débit n’est pas en retard et que le réseau est normal, c’est une autre affaire. Méthode 2 : 1. Appuyez sur la touche [Win] ou cliquez sur [Menu Démarrer] dans le coin inférieur gauche. Dans l'élément de menu qui s'ouvre, cliquez sur l'icône d'engrenage au-dessus du bouton d'alimentation. Il s'agit de [Paramètres].

Wake on LAN est une fonctionnalité réseau sur Windows 11 qui vous permet de sortir votre ordinateur à distance de la veille prolongée ou du mode veille. Bien que les utilisateurs occasionnels ne l'utilisent pas souvent, cette fonctionnalité est utile pour les administrateurs réseau et les utilisateurs expérimentés utilisant des réseaux filaires, et aujourd'hui nous allons vous montrer comment la configurer. Comment savoir si mon ordinateur prend en charge Wake on LAN ? Pour utiliser cette fonctionnalité, votre ordinateur a besoin des éléments suivants : Le PC doit être connecté à une alimentation ATX afin que vous puissiez le sortir du mode veille à distance. Des listes de contrôle d'accès doivent être créées et ajoutées à tous les routeurs du réseau. La carte réseau doit prendre en charge la fonction Wake-up-on-LAN. Pour que cette fonctionnalité fonctionne, les deux ordinateurs doivent être sur le même réseau. Bien que la plupart des adaptateurs Ethernet utilisent

Afin de vous assurer que votre connexion réseau fonctionne correctement ou de résoudre le problème, vous devez parfois vérifier les détails de la connexion réseau sous Windows 11. En faisant cela, vous pouvez afficher diverses informations, notamment votre adresse IP, votre adresse MAC, la vitesse de la liaison, la version du pilote, etc., et dans ce guide, nous vous montrerons comment procéder. Comment trouver les détails de la connexion réseau sur Windows 11 ? 1. Utilisez l'application « Paramètres » et appuyez sur la touche + pour ouvrir les paramètres Windows. WindowsI Ensuite, accédez à Réseau et Internet dans le volet de gauche et sélectionnez votre type de réseau. Dans notre cas, il s'agit d'Ethernet. Si vous utilisez un réseau sans fil, sélectionnez plutôt un réseau Wi-Fi. Au bas de l'écran, vous devriez voir
