Código
<script src="../js/panel.js" type="module"></script>
Ahroa bien en el archivo panel.js
panel.js
Código
Cuando hago click en submit del formulario este me recoge los datos del formulario y también quiero que me recoja los datos de una peticion fetch a una API que tengo.
import {DB} from './crud.js';
const API='http://localhost:5000/miramar';
const formLogin=document.querySelector("body #formLogin");
const login=(e)=>{
e.preventDefault();
let password = formLogin['pass'].value;
let user = formLogin['user'].value;
let empleados=new DB(`${API}/empleados/`).show();
console.log(empleados);
}
const init=()=>{
formLogin.addEventListener("submit",login);
}
init();
Para ello creo la clase DB() con el metodo show() para que me devuelva el objecto.
La clase esta definida en el archivo crud.js
Código
export class DB{
constructor(API){
this.API=API;
this.result;
}
show(){
fetch(this.API)
.then(res=>res.json())
.then(data=>this.result=data);
return this.result;
}
}
el problema que tengo es que en el archivo panel.js hago
Código
let empleados=new DB(`${API}/empleados/`).show();
console.log(empleados);
y me devuelve undefined.
Ahora bien.
Si lo hago con promesas, me devuelve que el estado de la promesa es pending
Código
export class DB{
constructor(API){
this.API=API;
this.result;
}
async show(){
/*fetch(this.API)
.then(res=>res.json())
.then(data=>this.result=data);
return this.result;*/
let res = await fetch(this.API);
let data = await res.json();
this.result=data;
return this.result;
}
Pero si en el console.log le pongo un setTImeout de 1 segundo me devulve la promesa con los valores, pero no puedo obtener sus valores, o como los obtengo?
Código
Pero si el setTimeout lo hago dentro de la clase no me funciona, solo en el panel.js
setTImeout(()=>console.log(empleados),1000)
PD.
Los datos que quiero coger son:
Código
https://drive.google.com/drive/folders/1pSGu0ql9ZklDvDCu56vuh16FYB-HPwbU?usp=sharing
[
{
"APELLIDOS": [
"León",
"Guerrero"
],
"_id": "609e833e6746526127be53e6",
"NOMBRE": "Jhilmar",
"NACIMIENTO": "2002-02-19T00:00:00.000Z",
"GENERO": "M",
"CONTRASENA": "Jhilmar"
},
{
"APELLIDOS": [
"Antonio",
"Salazar"
],
"_id": "609e83f26746526127be53e7",
"NOMBRE": "Juan",
"NACIMIENTO": "2002-02-19T00:00:00.000Z",
"GENERO": "M",
"CONTRASENA": "Juan Antonio"
},
{
"APELLIDOS": [
"Napola"
],
"_id": "609e84116746526127be53e8",
"NOMBRE": "Carmen",
"NACIMIENTO": "2002-02-19T00:00:00.000Z",
"GENERO": "F",
"CONTRASENA": "Carmen"
}
Gracias


 
  




 Autor
 Autor
		


 En línea
									En línea
								






