Estoy usando react para el frontend, node y mongoDB compass para el backend, envío información de la base de datos para reaccionar, pero sigo recibiéndolo como una promesa, lo necesito como una matriz, pero no puedo conseguirlo.
Front-end y back-end
const consulta = async () =>{ let dataRequest = { method: 'GET' } let url = new URL("http://localhost:5000/reservar"); let response = await fetch(url, dataRequest); let result = await response.json(); return result; } let promesa = consulta(); let data_ = promesa.then(function(val) { console.log(val); }); console.log(data_); app.get('/reservar', function(req, res){ // var userMap = {}; var userMap = []; User.find({estado: 'No reservado'}, function(err, users) { users.forEach(function(user) { userMap.push(user); // userMap[user._id] = user; }); res.json(userMap); }); });```En reacción, si tiene una tarea asíncrona como solicitar información de una base de datos, probablemente desee useEffect para cambiar las cosas. Aquí hay un pequeño ejemplo de cómo se podría hacer en reaccionar.
import React, {useState, useEffect} from "react"; function App(props) { const [asyncData, setAsyncData] = useState("loading"); useEffect(() => { (async () => { const dataRequest = { method: 'GET' } const url = new URL("http://localhost:5000/reservar"); const response = await fetch(url, dataRequest); const result = await response.json(); setAsyncData(result); })(); }, []); return ( <div> {JSON.stringify(asyncData)} </div> ); }