Skip to content

Commit f4eadcf

Browse files
authored
Merge pull request mouredev#2794 from IgleDev/main
#15 - TypeScript
2 parents 19bc155 + 0049eb8 commit f4eadcf

File tree

1 file changed

+74
-0
lines changed

1 file changed

+74
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
// Ejercicio 1
2+
3+
let funcionAsincrona : (nombre : string, segundos : number) => Promise<void> = async(nombre, segundos) => {
4+
console.log('Se inicia la ejecución');
5+
console.log(`Duración de ${nombre} - ${segundos} segundos`);
6+
7+
await new Promise<void>(res => {
8+
setTimeout(res, segundos * 1000)
9+
});
10+
11+
console.log('Se acaba la ejecución');
12+
}
13+
14+
let ejercicio1: () => Promise<void> = async () => {
15+
let promesa1: Promise<void> = funcionAsincrona('Función 1', 5)
16+
let promesa2: Promise<void> = funcionAsincrona('Función 2', 10)
17+
await Promise.all([promesa1, promesa2]);
18+
}
19+
20+
ejercicio1();
21+
22+
// EJERCICIO EXTRA
23+
24+
let funcionC: () => Promise<void> = async () => {
25+
console.log('Inicia la ejecución de la funcion C');
26+
27+
await new Promise<void>(res => {
28+
setTimeout(res, 3000)
29+
});
30+
31+
console.log('Finaliza la ejecución de la funcion C después de 3 segundos');
32+
}
33+
34+
let funcionB: () => Promise<void> = async () => {
35+
console.log('Inicia la ejecución de la funcion B');
36+
37+
await new Promise<void>(res => {
38+
setTimeout(res, 2000)
39+
});
40+
41+
console.log('Finaliza la ejecución de la funcion B después de 2 segundos');
42+
}
43+
44+
let funcionA: () => Promise<void> = async () => {
45+
console.log('Inicia la ejecución de la funcion A');
46+
47+
await new Promise<void>(res => {
48+
setTimeout(res, 1000)
49+
});
50+
51+
console.log('Finaliza la ejecución de la funcion A después de 1 segundos');
52+
}
53+
54+
let funcionD: () => Promise<void> = async () => {
55+
console.log('Inicia la ejecución de la funcion D');
56+
57+
await new Promise<void>(res => {
58+
setTimeout(res, 1000)
59+
});
60+
61+
console.log('Finaliza la ejecución de la funcion D después de 1 segundos');
62+
}
63+
64+
let ejercicioExtra: () => Promise<void> = async () => {
65+
let respuestaC: Promise<void> = funcionC();
66+
let respuestaB: Promise<void> = funcionB();
67+
let respuestaA: Promise<void> = funcionA();
68+
69+
await Promise.all([respuestaC, respuestaB, respuestaA])
70+
71+
let respuestaD: void = await funcionD();
72+
}
73+
74+
ejercicioExtra();

0 commit comments

Comments
 (0)