Skip to content

Commit

Permalink
Merge pull request #3905 from JesusAntonioEEscamilla/JesusAEE
Browse files Browse the repository at this point in the history
#21 - JavaScript "Extra"
  • Loading branch information
kontroldev committed May 27, 2024
2 parents 8338379 + b526a70 commit b303327
Showing 1 changed file with 50 additions and 3 deletions.
53 changes: 50 additions & 3 deletions Roadmap/21 - CALLBACKS/javascript/JesusAntonioEEscamilla.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ function fetchData(name ,callback) {
}

// Aquí solo llamamos el CALLBACK
fetchData('Jesus Antonio', saludar);
// fetchData('Jesus Antonio', saludar);


// También podemos crear primero el Callback con una suma de números
Expand All @@ -38,12 +38,59 @@ function printSum(resultado) {
}

// Aquí solo llamamos el CALLBACK
sum(3,6,printSum);
// sum(3,6,printSum);



/**-----DIFICULTAD EXTRA-----*/

//Pendientes
// Una función que represente los tiempo aleatorio
function getRandomTime() {
return Math.floor(Math.random() * 10000) + 1000;
}

// La función del Callback donde tiene los 3 segmentos de
function processOrder(namePlatillo, confirmCallback, readyCallback, deliveryCallback) {
console.log(`Procesando la orden: ${namePlatillo}\n`);

// Confirmación del pedido
setTimeout(() => {
console.log('Preparando orden');
confirmCallback(namePlatillo);

// Simula el tiempo de preparación del plato
setTimeout(() => {
console.log('Preparando orden para enviar');
readyCallback(namePlatillo);

// Simula el tiempo de entrega del plato
setTimeout(() => {
console.log('Preparando orden para entregar');
deliveryCallback(namePlatillo);

}, getRandomTime());
}, getRandomTime());
}, getRandomTime());
}

// Callback de confirmación
function orderConfirmed(namePlatillo) {
console.log(`Orden confirmado del pedido: ${namePlatillo}\n`);
}

// Callback de plato listo
function orderReady(namePlatillo) {
console.log(`Orden listo de: ${namePlatillo}\n`);
}

// Callback de entrega
function orderDelivered(namePlatillo) {
console.log(`Orden entregado: ${namePlatillo}\n`);
}

// Ejemplo de uso de pedidos de restaurante
processOrder('Pizza la Italiana', orderConfirmed, orderReady, orderDelivered);
processOrder('Patas boloñesa', orderConfirmed, orderReady, orderDelivered);
processOrder('Albóndigas con arroz', orderConfirmed, orderReady, orderDelivered);

/**-----DIFICULTAD EXTRA-----*/

0 comments on commit b303327

Please sign in to comment.