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