diff --git "a/PULL_REQUEST_TEMPLATE.md\t" "b/PULL_REQUEST_TEMPLATE.md\t" index 9a4d861..b8a73c3 100644 --- "a/PULL_REQUEST_TEMPLATE.md\t" +++ "b/PULL_REQUEST_TEMPLATE.md\t" @@ -2,16 +2,16 @@ Solución al reto 04 de Escuela de JavaScript -Nombre: -Usuario Platzi: +Nombre: Linda Dayanna Loaiza Lugo +Usuario Platzi: dayannaLoaiza ## GRUPO -- [ ] Martes +- [x] Martes - [ ] Miercoles - [ ] Jueves ## Reto: - - [ ] Primer problema - - [ ] Segundo problema - - [ ] Tercer problema + - [x] Primer problema + - [x] Segundo problema + - [x] Tercer problema - [ ] Cuarto Problema (Opcional) \ No newline at end of file diff --git a/src/index.js b/src/index.js index 4c965e7..6bfd9aa 100644 --- a/src/index.js +++ b/src/index.js @@ -1,11 +1,6 @@ -const orders = (time, product, table) => { - console.log(`### Orden: ${product} para ${table}`); - return new Promise((resolve, reject) => { - setTimeout(() => { - resolve(`=== Pedido servido: ${product}, tiempo de preparación ${time}ms para la ${table}`); - }, time); - }); -} +const minSegundos = 1000; +const maxSegundos = 8000; +const randomTime = () => Math.round(Math.random() * (maxSegundos - minSegundos) + minSegundos) const menu = { hamburger: 'Combo Hamburguesa', @@ -15,10 +10,61 @@ const menu = { const table = ['Mesa 1', 'Mesa 2', 'Mesa 3', 'Mesa 4', 'Mesa 5']; +const orders = (time, product, table) => { + console.log(`### Orden: ${product} para ${table}`); + return new Promise((resolve, reject) => { + if (resolve) { + setTimeout(() => { + resolve(`=== Pedido servido: ${product}, tiempo de preparación ${time}ms para la ${table}`); + }, time) + }else{ + reject(`xxx Se esta presentando problemas con el pedido.`) + } + }); +} + const waiter = () => { - orders(6000, menu.hamburger, table[3]) + orders(randomTime(), menu.hamburger, table[3]) .then((res) => console.log(res)) .catch((err) => console.error(err)); }; -waiter(); +const waiter2 = () => { + orders(randomTime(),menu.hotdog, table[0]) + .then(res => { console.log(res) + return orders(randomTime(),menu.pizza,table[2]) + }) + .then(res => { console.log(res) + }) + .catch((err) => console.error(err)); +}; + +const waiter3 = async () => { + var menus = [menu.hotdog, menu.pizza, menu.hotdog] + try { + const todo = menus.map(order => orders(randomTime(), order, table[1])) + const allPromise = await Promise.all(todo) + console.log(allPromise.toString()) + } catch (error) { + console.log(error) + } +} + +console.log("Cambie en el switch el problema que quiere ver.") + +switch (3) { + case 1: + console.log("Primer Problema") + waiter(); + break + case 2: + console.log("Segundo Problema") + waiter2() + break + case 3: + console.log("Tercer Problema") + waiter3() + break + default: + console.log("El Problema no existe.") +}