Skip to content

Commit e159b54

Browse files
#21 - javascript
1 parent 735b275 commit e159b54

File tree

1 file changed

+63
-0
lines changed

1 file changed

+63
-0
lines changed
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
// Una función de callback es una función que se pasa a otra función como un argumento, que luego se invoca dentro de la función externa para completar algún tipo de rutina o acción.
2+
3+
// function saludar (nombre) {
4+
// console.log('hola ' + nombre)
5+
// }
6+
7+
// function antesDecallback (funcionCallback) {
8+
// const name = 'david'
9+
// funcionCallback(name)
10+
// }
11+
12+
// antesDecallback(saludar)
13+
14+
// DIFICULTAD EXTRA (opcional):
15+
// * Crea un simulador de pedidos de un restaurante utilizando callbacks.
16+
// * Estará formado por una función que procesa pedidos.
17+
// * Debe aceptar el nombre del plato, una callback de confirmación, una
18+
// * de listo y otra de entrega.
19+
// * - Debe imprimir un confirmación cuando empiece el procesamiento.
20+
// * - Debe simular un tiempo aleatorio entre 1 a 10 segundos entre
21+
// * procesos.
22+
// * - Debe invocar a cada callback siguiendo un orden de procesado.
23+
// * - Debe notificar que el plato está listo o ha sido entregado.
24+
25+
26+
27+
function pedidos (platillo, confirmado, listo, entregado ) {
28+
29+
confirmado(platillo)
30+
const numberRandom = () => {
31+
return Math.floor(Math.random() * 10) * 1000
32+
}
33+
setTimeout(() => {
34+
listo(platillo)
35+
36+
}, numberRandom());
37+
setTimeout(() => {
38+
entregado(platillo)
39+
}, numberRandom());
40+
}
41+
42+
function confirmado (platillo ) {
43+
44+
45+
console.log('platillo confirmado : ' + platillo) //son callbacks
46+
47+
}
48+
function listo (platillo ) {
49+
50+
51+
console.log('platillo listo : ' + platillo)
52+
//son callbacks
53+
54+
}
55+
function entregado (platillo ) {
56+
57+
58+
console.log('platillo entregado : ' + platillo)//son callbacks
59+
60+
}
61+
62+
pedidos('caldo de pollo',confirmado, listo , entregado)
63+
pedidos('filete de res',confirmado, listo , entregado)

0 commit comments

Comments
 (0)