From 8e0b473828e3febd1d8d3665dfc33efbc59a4003 Mon Sep 17 00:00:00 2001 From: Alejandro Cantillo Date: Tue, 6 Oct 2020 16:41:17 -0500 Subject: [PATCH 1/3] ADD Functions and resolve problems --- "PULL_REQUEST_TEMPLATE.md\t" | 6 +-- src/index.js | 83 ++++++++++++++++++++++++++++++------ 2 files changed, 74 insertions(+), 15 deletions(-) diff --git "a/PULL_REQUEST_TEMPLATE.md\t" "b/PULL_REQUEST_TEMPLATE.md\t" index 9a4d861..28415f2 100644 --- "a/PULL_REQUEST_TEMPLATE.md\t" +++ "b/PULL_REQUEST_TEMPLATE.md\t" @@ -2,12 +2,12 @@ Solución al reto 04 de Escuela de JavaScript -Nombre: -Usuario Platzi: +Nombre: Alejandro Cantillo +Usuario Platzi: alejocantillo95 ## GRUPO - [ ] Martes -- [ ] Miercoles +- [+] Miercoles - [ ] Jueves ## Reto: diff --git a/src/index.js b/src/index.js index 4c965e7..a5896fd 100644 --- a/src/index.js +++ b/src/index.js @@ -1,11 +1,9 @@ -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 fetch = require("node-fetch"); +const MAX = 8000; +const BASE_URL = "https://us-central1-escuelajs-api.cloudfunctions.net/orders"; + +const table = ['Mesa 1', 'Mesa 2', 'Mesa 3', 'Mesa 4', 'Mesa 5']; +const randomTime = () => Math.floor(Math.random() * (MAX - 1000) + 1000) const menu = { hamburger: 'Combo Hamburguesa', @@ -13,12 +11,73 @@ const menu = { pizza: 'Combo Pizza', }; -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 (time <= randomTime()) { + + setTimeout(() => { + resolve(`=== Pedido servido: ${product}, tiempo de preparación ${time}ms para la ${table}`); + + }, time); + } else { + + reject(`***Estamos presentando demoras en la preparación `) + } + + }); +} const waiter = () => { orders(6000, menu.hamburger, table[3]) - .then((res) => console.log(res)) - .catch((err) => console.error(err)); + .then(res => console.log(res)) + .catch(err => console.error(err)); }; -waiter(); +const waiter2 = () => { + orders(randomTime(), menu.hotdog, table[0]) + .then(res => console.log(res)) + .catch(err => console.error(err)); + + orders(randomTime(), menu.pizza, table[2]) + .then(res => console.log(res)) + .catch(err => console.error(err)); + +} + +const waiter3 = async () => { + + try { + + const arrayMenu = Object.values(menu) + const allOrders = arrayMenu.map(order => orders(randomTime(), order, table[1])) + + const allPromise = await Promise.all(allOrders) + console.log(allPromise.toString()) + } catch (error) { + + console.log(error) + + } + +} + +const fetchOrders = async () => { + + try { + const response = await fetch(BASE_URL) + const dataOrder = await response.json() + const nameOrder = await dataOrder.data + return console.log(nameOrder) + + } catch (err) { + console.error(`Error inesperado procesando la orden`, err) + } + +} + +waiter() +waiter2() +waiter3() +fetchOrders() \ No newline at end of file From 680b2cfe3e4c8f00d726f58d4a495c91c3a180e9 Mon Sep 17 00:00:00 2001 From: Alejandro Cantillo Date: Tue, 6 Oct 2020 18:24:42 -0500 Subject: [PATCH 2/3] MOD inex.js --- src/index.js | 98 +++++++++++++++++++--------------------------------- 1 file changed, 35 insertions(+), 63 deletions(-) diff --git a/src/index.js b/src/index.js index a5896fd..0912443 100644 --- a/src/index.js +++ b/src/index.js @@ -1,83 +1,55 @@ -const fetch = require("node-fetch"); -const MAX = 8000; -const BASE_URL = "https://us-central1-escuelajs-api.cloudfunctions.net/orders"; - -const table = ['Mesa 1', 'Mesa 2', 'Mesa 3', 'Mesa 4', 'Mesa 5']; -const randomTime = () => Math.floor(Math.random() * (MAX - 1000) + 1000) - -const menu = { - hamburger: 'Combo Hamburguesa', - hotdog: 'Combo Hot Dogs', - pizza: 'Combo Pizza', -}; - const orders = (time, product, table) => { console.log(`### Orden: ${product} para ${table}`); return new Promise((resolve, reject) => { - - if (time <= randomTime()) { - + if (time && product && table) { setTimeout(() => { - resolve(`=== Pedido servido: ${product}, tiempo de preparación ${time}ms para la ${table}`); - + resolve( + `=== Pedido servido: ${product}, tiempo de preparación ${time}ms para la ${table}` + ); }, time); } else { - - reject(`***Estamos presentando demoras en la preparación `) + reject(`Tuvimos problemas con tu pedido`); } - }); -} - -const waiter = () => { - orders(6000, menu.hamburger, table[3]) - .then(res => console.log(res)) - .catch(err => console.error(err)); }; -const waiter2 = () => { - orders(randomTime(), menu.hotdog, table[0]) - .then(res => console.log(res)) - .catch(err => console.error(err)); - - orders(randomTime(), menu.pizza, table[2]) - .then(res => console.log(res)) - .catch(err => console.error(err)); - -} - -const waiter3 = async () => { - - try { - - const arrayMenu = Object.values(menu) - const allOrders = arrayMenu.map(order => orders(randomTime(), order, table[1])) - - const allPromise = await Promise.all(allOrders) - console.log(allPromise.toString()) - } catch (error) { +const menu = { + hamburger: "Combo Hamburguesa", + hotdog: "Combo Hot Dogs", + pizza: "Combo Pizza", +}; - console.log(error) +const table = ["Mesa 1", "Mesa 2", "Mesa 3", "Mesa 4", "Mesa 5"]; - } +const randomTime = () => 1000 * ((Math.floor(Math.random() * 10) % 8) + 1); -} +const waiter = () => { + orders(randomTime(), menu.hamburger, table[3]) + .then((res) => console.log(res)) + .catch((err) => console.error(err)); +}; -const fetchOrders = async () => { +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)); +}; +async function waiter3() { try { - const response = await fetch(BASE_URL) - const dataOrder = await response.json() - const nameOrder = await dataOrder.data - return console.log(nameOrder) - + const allOrders = [ + await orders(randomTime(), menu.hotdog, table[1]), + await orders(randomTime(), menu.pizza, table[1]), + await orders(randomTime(), menu.hotdog, table[1]), + ]; + const res_1 = await Promise.all(allOrders); + console.log(res_1); } catch (err) { - console.error(`Error inesperado procesando la orden`, err) + console.log(err); } - } -waiter() -waiter2() -waiter3() -fetchOrders() \ No newline at end of file +waiter(); +waiter2(); +waiter3(); \ No newline at end of file From e47650d114003099ffc5fb2717c83a14892bc51c Mon Sep 17 00:00:00 2001 From: Alejandro Cantillo Date: Tue, 6 Oct 2020 18:27:23 -0500 Subject: [PATCH 3/3] MOD PULL_REQUEST --- ...MPLATE.md\t" => "PULL_REQUEST_TEMPLATE.md\357\200\211" | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) rename "PULL_REQUEST_TEMPLATE.md\t" => "PULL_REQUEST_TEMPLATE.md\357\200\211" (62%) diff --git "a/PULL_REQUEST_TEMPLATE.md\t" "b/PULL_REQUEST_TEMPLATE.md\357\200\211" similarity index 62% rename from "PULL_REQUEST_TEMPLATE.md\t" rename to "PULL_REQUEST_TEMPLATE.md\357\200\211" index 28415f2..5e04d65 100644 --- "a/PULL_REQUEST_TEMPLATE.md\t" +++ "b/PULL_REQUEST_TEMPLATE.md\357\200\211" @@ -11,7 +11,7 @@ Usuario Platzi: alejocantillo95 - [ ] Jueves ## Reto: - - [ ] Primer problema - - [ ] Segundo problema - - [ ] Tercer problema - - [ ] Cuarto Problema (Opcional) \ No newline at end of file + - [ok] Primer problema + - [ok] Segundo problema + - [ok] Tercer problema + - [ok] Cuarto Problema (Opcional) \ No newline at end of file