Advertisement
ADL_Rodrigo_Silva

Untitled

May 26th, 2022
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2.  
  3. const deportistas = [
  4.     {
  5.         id:1,
  6.         nombre:"Rodrigo"
  7.     },
  8.     {
  9.         id:2,
  10.         nombre:"Consuelo"
  11.     },
  12.     {
  13.         id:3,
  14.         nombre:"Sergio"
  15.     },
  16.     {
  17.         id:4,
  18.         nombre:"Milford"
  19.     }
  20. ];
  21.  
  22. const deportes = [
  23.     {
  24.         id:1,
  25.         deporte:"Pesas"
  26.     },
  27.     {
  28.         id:2,
  29.         deporte:"Volley"
  30.     },
  31.     {
  32.         id:3,
  33.         deporte:"Zumba"
  34.     }
  35. ];
  36.  
  37. // Definición de la función getDeportista
  38. const getDeportista = (id) => {
  39.     // Aquí irá la lógica del negocio
  40.  
  41.     return new Promise( (resolve, reject) =>  {
  42.        
  43.         const deportista = deportistas.find( dep => dep.id === id )?.nombre;
  44.         //console.log(deportista);
  45.  
  46.         (deportista)
  47.             ?resolve(deportista)
  48.             :reject(`No existe un deportista con el id ${id}`);
  49.  
  50.     });
  51. };
  52.  
  53. // Definición de la función getDeporte
  54. const getDeporte = (id) => {
  55.  
  56.     return new Promise( (resolve, reject) => {
  57.  
  58.         const deporte = deportes.find( depo => depo.id === id )?.deporte;
  59.  
  60.         (deporte)
  61.             ?resolve(deporte)
  62.             :reject (`No existe un deporte con el id ${id}`);
  63.  
  64.     });
  65.  
  66. };
  67.  
  68.  
  69. const id = 4;
  70. // Invocación getDeportista
  71. /*getDeportista(id)
  72.     .then( (deportista) => console.log(deportista))
  73.     .catch( (err) => console.log(err));
  74.  
  75. // Invocación getDeporte
  76. getDeporte(id)
  77.     .then( (deporte) => console.log(deporte) )
  78.     .catch( (error) => console.log(error) );
  79. */
  80.  
  81. /*
  82. // Nueva invocación para getDeportista
  83. getDeportista(id)
  84.     .then( deportista => {
  85.         nombre = deportista;
  86.         return getDeporte(id)
  87.     })
  88.     .then( deporte => console.log(`El deportista ${nombre} practica este deporte: ${deporte}`) )
  89.     .catch( error => console.log(error));
  90.     */
  91.  
  92. // Nueva función para considerar la comunicación asíncrona
  93. const getInfoDeportista = async (id) =>
  94.     {
  95.         try {
  96.             let deportista = await getDeportista(id); // 5 seg
  97.             let deporte = await getDeporte(id);
  98.  
  99.             return `El deporte asignado a ${deportista} es ${deporte}`;
  100.         }catch(error){
  101.             throw error;
  102.         }
  103.     };
  104.  
  105.     getInfoDeportista(id)
  106.         .then( msg => console.log(msg))
  107.         .catch( err => console.log(err));
  108.  
  109.        
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement