From 66a37f28a27e1d27a412c5a3f1194a3a66937f61 Mon Sep 17 00:00:00 2001 From: vivi_soto Date: Mon, 13 Jul 2020 21:26:12 -0500 Subject: [PATCH] solving the challenge --- "PULL_REQUEST_TEMPLATE.md\t" | 12 +++++----- src/index.js | 43 ++++++++++++++++++++++++++++++++---- 2 files changed, 45 insertions(+), 10 deletions(-) diff --git "a/PULL_REQUEST_TEMPLATE.md\t" "b/PULL_REQUEST_TEMPLATE.md\t" index 9a4d861..3ff775d 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: Viviana Soto Echeverry +Usuario Platzi: Vivi Soto ## 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..7363c6c 100644 --- a/src/index.js +++ b/src/index.js @@ -1,9 +1,13 @@ 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); + if(resolve){ + setTimeout(() => { + resolve(`=== Pedido servido: ${product}, tiempo de preparación ${time}ms para la ${table}`); + }, time); + }else{ + reject(new Error('Ups!! Ha ocurrido un problema con el pedido')) + } }); } @@ -15,10 +19,41 @@ const menu = { const table = ['Mesa 1', 'Mesa 2', 'Mesa 3', 'Mesa 4', 'Mesa 5']; +const randomTime = (time) =>{ + valor = Math.random(0,time) + return Math.round(valor * 1000) +} + const waiter = () => { - orders(6000, menu.hamburger, table[3]) + orders(randomTime(8000), menu.hamburger, table[0]) .then((res) => console.log(res)) .catch((err) => console.error(err)); }; waiter(); + +const waiter2 = () => { + orders (randomTime(8000),menu.hotdog,table[0]) + .then((res)=>{ + console.log(res) + return orders(randomTime(8000),menu.pizza,table[2]) + }) + .then(res=>{ + console.log(res) + }) + .catch((err)=> console.error(err)) +} + +waiter2(); + +const waiter3 = async()=>{ + try{ + const pedido3 = await orders(randomTime(8000),[menu.hotdog, menu.pizza, menu.hotdog],table[1]) + console.log(pedido3) + }catch(error){ + console.error(err) + } +} + + +waiter3(); \ No newline at end of file