Maison  >  Article  >  interface Web  >  Comment puis-je annuler les demandes de récupération en JavaScript ?

Comment puis-je annuler les demandes de récupération en JavaScript ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-18 01:29:02130parcourir

How Can I Cancel Fetch Requests in JavaScript?

Annulation des requêtes de récupération : exploration des mécanismes intégrés

La nouvelle API fetch() de JavaScript offre un moyen pratique d'effectuer des requêtes HTTP. Cependant, une question de longue date demeure : existe-t-il un mécanisme intégré permettant d'annuler ces demandes en cours de vol ?

Le paramètre de signal

En septembre 2017, fetch() prend en charge le paramètre signal. Ce paramètre accepte un objet AbortSignal, qui permet l'interruption contrôlée d'une demande de récupération.

Implémentation

Pour annuler une demande de récupération, suivez ces étapes :

  1. Créez une instance AbortController.
  2. Obtenez l'objet AbortSignal à partir de le AbortController.
  3. Passez le AbortSignal à fetch() dans le paramètre signal.
  4. Si vous le souhaitez, appelez controller.abort() pour terminer la requête.

Exemple

Considérez le code suivant extrait :

// Initialize an AbortController and its AbortSignal
const controller = new AbortController();
const signal = controller.signal;

// Perform a fetch request with the AbortSignal
fetch(urlToFetch, {
  signal,
});

// Abort the request at any time
controller.abort();

Prise en charge du navigateur

Au départ, la prise en charge d'AbortSignal était limitée. Cependant, depuis mars 2020, la plupart des principaux navigateurs (Edge, Firefox, Chrome, Safari, Opera, etc.) ont implémenté cette fonctionnalité, ce qui en fait une solution largement accessible.

Bien que tous les navigateurs ne prennent actuellement pas en charge AbortSignal , sa large disponibilité indique que l'annulation des requêtes de récupération en cours est désormais une fonctionnalité courante dans le développement JavaScript.

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:
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