Espero que alguien me pueda ayudar con este proyecto:
Estoy llamando a una función que usa axios para obtener datos de una API, sigo obteniendo [promesa de objeto].
Probé: getAPIdata().then(function(data){console.log(data)}) y obtengo los datos correctamente impresos en la consola. Pero lo que necesito es devolver los datos para que se puedan mapear.
Lo intenté:
getAPIdata().then(function(data){return data}) pero esto simplemente devuelve [object Promise]
que es lo mismo que obtengo si simplemente hago:
getAPIdata() también devuelve [promesa de objeto]
¿Alguien sabe cómo puedo obtener los datos devueltos correctamente? Como referencia, he agregado los ejemplos de código a continuación.
Por favor hagamelo saber. Gracias.
getAPIdata = async () => { const axios = require('axios').default; try{ return await axios.get('URL').then(content => content.data); } catch (error){ throw{ code: error.code, message: error.message, responseStatus: error.response?.status, url }; } } getAPIdata().then(function(data){console.log(data)}) // returns data to console getAPIdata().then(function(data){return data}) // returns [object Promise]Actualización: getAPIdata().then(function(data){return data}) luego se pasa como accesorio a otro componente. el apoyo se llama selección
function Select(props){ const {selection} = props; return( <Select> {console.log(typeof selection)} //returns object <MenuItem value="">None</MenuItem> //Default value { **selection.map( data =>(<MenuItem key={data.id} value={data.id}>{data.name}</MenuItem>)** ) } </Select> )En última instancia, entiendo que selection.map no es una función, que es lo que me llevó a suponer que se trata de un problema con los datos que no se devuelven correctamente. Los componentes Select y MenuItem son de Material-UI.