Maison > interface Web > js tutoriel > le corps du texte

Axios contre Récupérer

DDD
Libérer: 2024-10-01 06:30:03
original
509 Les gens l'ont consulté

Axios vs Fetch

Version portugaise

Axios et Fetch sont des outils populaires pour effectuer des requêtes HTTP en JavaScript, mais ils présentent quelques différences clés. Voici un résumé :

Axios

  • Fonctionnalités intégrées : Axios est doté de nombreuses fonctionnalités intégrées, telles que la transformation JSON automatique, les intercepteurs de requêtes et de réponses et l'annulation des requêtes.
  • Compatibilité des navigateurs : prend en charge les anciens navigateurs, y compris Internet Explorer.
  • Gestion des erreurs : Axios rejette automatiquement les promesses pour les statuts d'erreur HTTP (tels que 404 ou 500), ce qui facilite la gestion des erreurs.
  • Intercepteurs de requêtes/réponses : Permet de modifier globalement des requêtes ou des réponses de manière simple.
  • Annulation de la demande : Axios offre un moyen simple d'annuler les demandes.

Aller chercher

  • API native : Fetch est une API Web native, ce qui signifie qu'il n'est pas nécessaire d'installer des bibliothèques supplémentaires.
  • Basé sur des promesses : utilise des promesses, mais vous devez vérifier manuellement l'état de la réponse pour détecter les erreurs.
  • Gestion du flux : Fetch prend en charge le streaming, ce qui peut être utile pour gérer des réponses volumineuses.
  • Plus de contrôle : offre plus de contrôle sur les requêtes, mais nécessite plus de code supplémentaire pour des fonctionnalités telles que la définition de modèles ou l'interception de requêtes.
  • Pas de prise en charge intégrée pour JSON : vous devez appeler .json() sur l'objet de réponse pour analyser les données JSON.

Cas d'utilisation

  • Utilisez Axios si vous avez besoin d'un riche ensemble de fonctionnalités prêtes à l'emploi, en particulier pour les applications complexes.
  • Utilisez Fetch pour des cas d'utilisation plus simples ou lorsque vous souhaitez éviter les dépendances externes.

Exemple d'utilisation

Axios :

axios.get('/api/data')
  .then(response => console.log(response.data))
  .catch(error => console.error(error));

const options = {
  url: 'http://localhost/test.htm',
  method: 'POST',
  headers: {
    'Accept': 'application/json',
    'Content-Type': 'application/json;charset=UTF-8'
  },
  data: {
    a: 10,
    b: 20
  }
};
axios(options)
  .then(response => {
    console.log(response.status);
  });
Copier après la connexion

Récupérer :

fetch('/api/data')
  .then(response => {
    if (!response.ok) {
      throw new Error('Network response was not ok');
    }
    return response.json();
  })
  .then(data => console.log(data))
  .catch(error => console.error(error));

const url = "https://jsonplaceholder.typicode.com/todos";
const options = {
  method: "POST",
  headers: {
    Accept: "application/json",
    "Content-Type": "application/json;charset=UTF-8",
  },
  body: JSON.stringify({
    a: 10,
    b: 20,
  }),
};
fetch(url, options)
  .then((response) => response.json())
  .then((data) => {
    console.log(data);
  });
Copier après la connexion

Remarques :

  • Pour envoyer des données, fetch() utilise la propriété body pour une requête POST, tandis qu'Axios utilise la propriété data.
  • Les données de fetch() sont transformées en chaîne à l'aide de la méthode JSON.stringify.
  • Axios transforme automatiquement les données renvoyées par le serveur, mais avec fetch(), vous devez appeler la méthode Response.json() pour analyser les données en un objet JavaScript.
  • Avec Axios, la réponse aux données fournie par le serveur est accessible dans l'objet de données, tandis que dans la méthode fetch(), les données finales peuvent être nommées avec n'importe quelle variable.

Conclusion

Les deux ont leurs atouts, et le choix dépend souvent de vos besoins et préférences spécifiques. Si vous créez une application plus grande avec de nombreuses interactions API, Axios peut faciliter certaines tâches, tandis que Fetch est idéal pour les tâches simples.

Axios propose une API conviviale qui simplifie la plupart des tâches de communication HTTP. Cependant, si vous préférez utiliser les fonctionnalités natives du navigateur, vous pouvez certainement implémenter vous-même des fonctionnalités similaires avec l'API Fetch.

Comme nous l'avons exploré, il est tout à fait réalisable de répliquer les fonctionnalités principales d'Axios à l'aide de la méthode fetch() disponible dans les navigateurs. La décision d'inclure une bibliothèque HTTP client dépend en fin de compte de votre aisance avec les API natives et des exigences spécifiques de votre projet.

Pour plus d'informations : https://medium.com/trainingcenter/axios-ou-fetch-765e5db9dd59

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!

source:dev.to
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!