Supongamos el siguiente caso.
Recuperamos los datos de un personaje de StarWars. Este personaje, a su vez, tiene una propiedad con un array de las id de las películas que a hecho. Para obtener el título de dichas películas, necesitaríamos hacer una nueva petición por cada una de estas id. Vamos a ver como resolver esta petición.
getCharacterById(id).then(res => {
// filmsIds es un array con las ids de las películas en las que aparece ese personaje
const { filmsIds } = res.data;
setCharacterData(res.data);
// Promise.all devuelve una promesa que se cumplirá cuando todas las promesas del array que recibe como parámetro se haya cumplido.
return Promise.all(filmsIds.map((id) => getFilmFromId(id)));
}).then((films) => {
setFilms(films.map(({ data }) => data));
});