11 votes

Promise.all retourne des objets vides

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));
  };

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X