Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const deportistas = [
- {
- id:1,
- nombre:"Rodrigo"
- },
- {
- id:2,
- nombre:"Consuelo"
- },
- {
- id:3,
- nombre:"Sergio"
- },
- {
- id:4,
- nombre:"Milford"
- }
- ];
- const deportes = [
- {
- id:1,
- deporte:"Pesas"
- },
- {
- id:2,
- deporte:"Volley"
- },
- {
- id:3,
- deporte:"Zumba"
- }
- ];
- // Definición de la función getDeportista
- const getDeportista = (id) => {
- // Aquí irá la lógica del negocio
- return new Promise( (resolve, reject) => {
- const deportista = deportistas.find( dep => dep.id === id )?.nombre;
- //console.log(deportista);
- (deportista)
- ?resolve(deportista)
- :reject(`No existe un deportista con el id ${id}`);
- });
- };
- // Definición de la función getDeporte
- const getDeporte = (id) => {
- return new Promise( (resolve, reject) => {
- const deporte = deportes.find( depo => depo.id === id )?.deporte;
- (deporte)
- ?resolve(deporte)
- :reject (`No existe un deporte con el id ${id}`);
- });
- };
- const id = 4;
- // Invocación getDeportista
- /*getDeportista(id)
- .then( (deportista) => console.log(deportista))
- .catch( (err) => console.log(err));
- // Invocación getDeporte
- getDeporte(id)
- .then( (deporte) => console.log(deporte) )
- .catch( (error) => console.log(error) );
- */
- /*
- // Nueva invocación para getDeportista
- getDeportista(id)
- .then( deportista => {
- nombre = deportista;
- return getDeporte(id)
- })
- .then( deporte => console.log(`El deportista ${nombre} practica este deporte: ${deporte}`) )
- .catch( error => console.log(error));
- */
- // Nueva función para considerar la comunicación asíncrona
- const getInfoDeportista = async (id) =>
- {
- try {
- let deportista = await getDeportista(id); // 5 seg
- let deporte = await getDeporte(id);
- return `El deporte asignado a ${deportista} es ${deporte}`;
- }catch(error){
- throw error;
- }
- };
- getInfoDeportista(id)
- .then( msg => console.log(msg))
- .catch( err => console.log(err));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement