From 0e7bb9da896a672d3826fcd3c93b8dfe14858a09 Mon Sep 17 00:00:00 2001 From: Karina Algarra Date: Wed, 23 Sep 2020 16:55:09 -0500 Subject: [PATCH] [add]challenge-02 --- src/index.js | 98 ++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 84 insertions(+), 14 deletions(-) diff --git a/src/index.js b/src/index.js index 4c965e7..da333ba 100644 --- a/src/index.js +++ b/src/index.js @@ -1,24 +1,94 @@ const orders = (time, product, table) => { - console.log(`### Orden: ${product} para ${table}`); + console.log(`### Orden: ${product} para la ${table}`) return new Promise((resolve, reject) => { - setTimeout(() => { - resolve(`=== Pedido servido: ${product}, tiempo de preparación ${time}ms para la ${table}`); - }, time); - }); + if (true) { + setTimeout(() => { + resolve( + `=== Pedido servido: ${product}, tiempo de preparación ${time}ms para la ${table}` + ) + }, time) + } else { + reject( + new Error(`¡¡OOps!!, No pudimos completar tu pedido de ${product}`) + ) + } + }) } const menu = { hamburger: 'Combo Hamburguesa', hotdog: 'Combo Hot Dogs', - pizza: 'Combo Pizza', -}; + pizza: 'Combo Pizza' +} +const table = ['Mesa 1', 'Mesa 2', 'Mesa 3', 'Mesa 4', 'Mesa 5'] + +const randomTime = () => { + let numbers = 1000 * Math.floor(Math.random() * 8 + 1) + return numbers +} + +let a = randomTime() +let b = randomTime() +let c = randomTime() + +const readyDishes = () => { + let d + if (a > b) { + if (a > c) { + d = a + } else { + d = c + } + } else { + if (b > c) { + d = b + } else { + d = c + } + } + setTimeout( + () => console.log('....Esperando a que se completen todos los pedidos....'), + d + ) + return d +} + +const waiter = async () => { + try { + const order1 = await orders(a, menu.hamburger, table[3]) + console.log(order1) + } catch (error) { + console.log(error) + } +} + +const waiter2 = () => { + orders(b, menu.hotdog, table[0]) + .then(resolve => console.log(resolve)) + .catch(error => console.log(error)) + orders(c, menu.pizza, table[2]) + .then(resolve => console.log(resolve)) + .catch(error => console.log(error)) +} + +const waiter3 = async () => { + try { + const order4 = await orders( + readyDishes(), + [menu.hotdog, menu.pizza, menu.hotdog], + table[1] + ) + console.log(order4) + } catch (error) { + console.log(error) + } +} + + + +waiter() +waiter2() +waiter3() -const table = ['Mesa 1', 'Mesa 2', 'Mesa 3', 'Mesa 4', 'Mesa 5']; -const waiter = () => { - orders(6000, menu.hamburger, table[3]) - .then((res) => console.log(res)) - .catch((err) => console.error(err)); -}; -waiter();