J'essaie de récupérer plusieurs objets de données de la base de données de films en une seule fois en utilisant Promise.all
. Après avoir parcouru en boucle tous les résultats de la fetch
et utiliser .json()
sur chaque bit de données, j'ai essayé de les enregistrer sur la console. Cependant, au lieu d'un tableau d'objets contenant des données, j'obtiens un tableau de Promises
. Niché dans les promesses, je peux voir mes données, mais il est clair que je manque une étape pour avoir un tableau d'objets de données, au lieu de juste Promises
.
Qu'est-ce que je rate ici ?
//store movie API URLs into meaningful variables
const trending = `https://api.themoviedb.org/3/trending/all/day?api_key=${API_KEY}`;
const topRated = `https://api.themoviedb.org/3/movie/top_rated?api_key=${API_KEY}&language=en-US&page=1`;
const nowPlaying = `https://api.themoviedb.org/3/movie/now_playing?api_key=${API_KEY}&language=en-US&page=1`;
const upcoming = `https://api.themoviedb.org/3/movie/upcoming?api_key=${API_KEY}&language=en-US&page=1`;
//create an array of urls to fetch data from
const allMovieURLs = [trending, topRated, nowPlaying, upcoming];
const promiseURLs = allMovieURLs.map(url => fetch(url));
Promise.all(promiseURLs)
.then(responses => responses.map(url => url.json()))
.then(dataArr => console.log(dataArr));
};