Appliquez la notion
On souhaite récupérer les informations de plusieurs utilisateurs au moyen de l'API Fetch. On dispose des URL suivantes, que l'on souhaite parcourir et pour lesquelles on souhaite afficher les ressources associées dans la console.
1
let urls = [
2
'https://reqres.in/api/users/2',
3
'https://reqress.in/api/users/3',
4
'https://reqres.in/api/users/23'
5
]
6
7
function fetchUrl(url) {
8
9
}
10
11
urls.forEach(url => fetchUrl(url))
Question
Complétez la méthode fetchUrl
afin :
Qu'en cas de succès, on puisse récupérer et afficher le contenu de la réponse en JSON dans la console
Qu'en cas d'erreur lors de la récupération de la ressource (code différent de 200), on affiche un message en console "Une erreur est survenue, code erreur X" et qu'on retourne un objet vide
Qu'en cas d'erreur lors du traitement de l'appel (mauvaise URL, par exemple) on affiche l'erreur en console
Solution
1
let urls = [
2
'https://reqres.in/api/users/2',
3
'https://reqress.in/api/users/3',
4
'https://reqres.in/api/users/23'
5
]
6
7
function fetchUrl(url) {
8
fetch(url)
9
.then((response) => {
10
if(response.ok){
11
return response.json();
12
} else {
13
console.log('Une erreur est survenue, code erreur ' + response.status)
14
return {}
15
}
16
})
17
.then((data) => {
18
console.log(data);
19
})
20
.catch((error) => console.error(error)); //Traitement de l'erreur dans l'appel
21
}
22
23
urls.forEach(url => fetchUrl(url))