Je suis en train d'essayer d'utiliser l'API Fetch. Il semble, d'après les exemples, qu'une requête GET nécessite un then
pour analyser la réponse d'une manière ou d'une autre.
Actuellement, je fais ceci
fetch(url)
.then(response => response.json())
.then(response => {
console.log(response);
});
Cependant, ce premier then
semble être un modèle récurrent. J'ai essayé de l'éviter, par exemple:
fetch(url)
.then(response => {
console.log(response.json());
});
Mais cela me génère une Promise
en attente avec un statut resolved
.
J'ai lu d'autres questions sur ce sujet et j'ai un peu compris les promesses, mais je n'ai pas pu comprendre s'il était possible de les combiner en un seul then
(si oui - comment?) ou non.
Par exemple, deux des réponses ici soulignent que
Il n'est pas nécessaire d'utiliser plus d'un '.then'
et
il n'y a pas de bonne raison d'avoir deux gestionnaires .then() car le code de chacun aurait pu être combiné dans un seul gestionnaire .then()
Mais je n'ai pas réussi à faire fonctionner cet exemple - j'ai quand même obtenu une promesse :)
En revanche, la réponse acceptée ici explique que .then
fait en réalité quelque chose au résultat (extrait le retourné de la promesse), mais je n'ai pas compris si je pouvais le faire moi-même d'une manière ou d'une autre, par exemple response.json().then()
ou response.json().getVal()
ou si la syntaxe double-then
est la seule façon de le faire.