Response : propriété bodyUsed
Baseline
Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis mars 2017.
Note : Cette fonctionnalité est disponible via les Web Workers.
La propriété en lecture seule bodyUsed de l'interface Response est un booléen qui indique si le corps a déjà été lu.
Valeur
Une valeur booléenne.
Exemples
>Vérifier bodyUsed
Cet exemple illustre que la lecture du corps d'une réponse fait passer la valeur de bodyUsed de false à true.
L'exemple contient une image vide.
Lorsque le JavaScript de l'exemple s'exécute, nous récupérons une image et assignons la promesse retournée à une variable promesseReponse.
Quand l'utilisateur·ice clique sur « Utiliser la réponse », nous vérifions si la réponse a déjà été utilisée. Si c'est le cas, nous affichons un message. Sinon, nous lisons le corps de la réponse et l'utilisons pour fournir une valeur à l'attribut src de l'image.
HTML
<p>
<button id="utiliser">Utiliser la réponse</button>
<button id="reinitialiser">Réinitialiser</button>
</p>
<p><img id="mon-image" src="" width="150" /></p>
<pre id="journal"></pre>
JavaScript
const utiliserReponse = document.querySelector("#utiliser");
const reinitialiser = document.querySelector("#reinitialiser");
const monImage = document.querySelector("#mon-image");
const journal = document.querySelector("#journal");
const promesseReponse = fetch(
"/shared-assets/images/examples/firefox-logo.svg",
);
utiliserReponse.addEventListener("click", async () => {
const reponse = await promesseReponse;
if (reponse.bodyUsed) {
journal.textContent = "Le corps a déjà été utilisé !";
} else {
const resultat = await reponse.blob();
const urlObjet = URL.createObjectURL(resultat);
monImage.src = urlObjet;
}
});
reinitialiser.addEventListener("click", () => {
document.location.reload();
});
Résultat
Au départ, il n'y a pas de valeur pour l'image. Si vous cliquez une fois sur « Utiliser la réponse », alors bodyUsed vaut false, donc nous lisons la réponse et définissons l'image. Si vous cliquez à nouveau sur « Utiliser la réponse », alors bodyUsed vaut true et nous affichons le message.
Cliquez sur « Réinitialiser » pour recharger l'exemple et pouvoir réessayer.
Spécifications
| Specification |
|---|
| Fetch> # ref-for-dom-body-bodyused①> |
Compatibilité des navigateurs
Voir aussi
- L'API ServiceWorker
- Contrôle d'accès HTTP (CORS)
- La référence HTTP