From d8f46bfb997320af3ae4c12b49899ea91c2a0f6d Mon Sep 17 00:00:00 2001 From: diegoTV Date: Mon, 13 Jul 2020 17:13:40 -0500 Subject: [PATCH] final --- src/index.js | 39 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/src/index.js b/src/index.js index 4c965e7..2a06c87 100644 --- a/src/index.js +++ b/src/index.js @@ -3,6 +3,7 @@ const orders = (time, product, table) => { return new Promise((resolve, reject) => { setTimeout(() => { resolve(`=== Pedido servido: ${product}, tiempo de preparación ${time}ms para la ${table}`); + reject(new Error("Error!")); }, time); }); } @@ -15,10 +16,46 @@ const menu = { const table = ['Mesa 1', 'Mesa 2', 'Mesa 3', 'Mesa 4', 'Mesa 5']; + +const randomTime = () => { + const min = 1000; + const max = 8000; + return Math.round(Math.random() * (max - min)) + min; +}; + const waiter = () => { orders(6000, menu.hamburger, table[3]) .then((res) => console.log(res)) .catch((err) => console.error(err)); }; -waiter(); +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)); +}; + +waiter2() + +async function waiter3() { + try { + const listOrders = [ + await orders(randomTime(), menu.hotdog, table[1]), + await orders(randomTime(), menu.pizza, table[1]), + await orders(randomTime(), menu.hotdog, table[1]) + ]; + const res = await Promise.all(listOrders); + console.log(res); + } catch (err) { + console.error(err); + } +} +waiter3(); +