﻿1
00:00:01,270 --> 00:00:03,170
‫Instructor: Y ahora, para

2
00:00:03,170 --> 00:00:05,760
‫terminar la sección, permítanme mostrarles un buen

3
00:00:05,760 --> 00:00:10,040
‫truco sobre cómo básicamente podemos ejecutar muchas promesas al mismo tiempo.

4
00:00:10,040 --> 00:00:12,690
‫Así que supongamos que en realidad quisiéramos obtener tres imágenes

5
00:00:12,690 --> 00:00:15,200
‫de perros al azar y no solo una.

6
00:00:15,200 --> 00:00:17,053
‫Podríamos hacer algo como esto.

7
00:00:19,300 --> 00:00:23,740
‫Así que simplemente esperando llamadas D3API, una tras otra.

8
00:00:23,740 --> 00:00:26,600
‫Pero, ¿por qué haríamos que la segunda llamada

9
00:00:26,600 --> 00:00:28,340
‫a la API espere

10
00:00:28,340 --> 00:00:31,690
‫a la primera y la tercera espere a la segunda?

11
00:00:31,690 --> 00:00:34,320
‫Eso solo agregaría un tiempo de espera

12
00:00:34,320 --> 00:00:36,060
‫innecesario cuando podríamos ejecutar

13
00:00:36,060 --> 00:00:38,100
‫todas estas promesas al mismo tiempo.

14
00:00:38,100 --> 00:00:40,920
‫Déjame mostrarte cómo podemos hacer eso.

15
00:00:40,920 --> 00:00:43,980
‫Entonces, la solución no será algo como esto,

16
00:00:43,980 --> 00:00:47,240
‫sino que lo que haremos es no esperar una

17
00:00:47,240 --> 00:00:49,990
‫promesa en este punto, sino guardar la

18
00:00:49,990 --> 00:00:52,143
‫promesa en una variable.

19
00:00:53,330 --> 00:00:56,100
‫Entonces, nuevamente, queremos guardar ahora la

20
00:00:56,100 --> 00:00:59,470
‫promesa y no el valor resuelto de la promesa.

21
00:00:59,470 --> 00:01:02,470
‫Entonces, llamemos a este aquí, resultado uno, pro,

22
00:01:02,470 --> 00:01:03,980
‫que significa promesa.

23
00:01:03,980 --> 00:01:06,560
‫Así que recuerde que este de aquí devuelve una promesa.

24
00:01:06,560 --> 00:01:08,570
‫De acuerdo, y si no lo

25
00:01:08,570 --> 00:01:11,980
‫esperamos, bueno, simplemente guardaremos la promesa en la variable y

26
00:01:11,980 --> 00:01:13,970
‫no su valor resuelto.

27
00:01:13,970 --> 00:01:16,763
‫Así que hagamos eso aquí dos veces más.

28
00:01:18,350 --> 00:01:22,263
‫Entonces uno para cada imagen aleatoria que queramos.

29
00:01:24,200 --> 00:01:26,930
‫Bien, y así, tenemos tres promesas.

30
00:01:26,930 --> 00:01:29,520
‫Ahora, con el fin de obtener los

31
00:01:29,520 --> 00:01:30,673
‫valores resueltos,

32
00:01:32,220 --> 00:01:36,430
‫las tres imágenes, creamos una nueva variable y lo que esperamos

33
00:01:38,210 --> 00:01:40,810
‫es la promesa de todo, de acuerdo.

34
00:01:40,810 --> 00:01:44,560
‫Y en la promesa de todo, pasamos una serie de promesas.

35
00:01:44,560 --> 00:01:47,700
‫Y eso va a ser res

36
00:01:47,700 --> 00:01:51,463
‫uno pro, res dos pro y res tres pro.

37
00:01:52,670 --> 00:01:56,350
‫De acuerdo, de nuevo, tenemos estas tres promesas y estas

38
00:01:56,350 --> 00:01:59,890
‫tres variables y podemos pasar una matriz que

39
00:01:59,890 --> 00:02:03,520
‫contiene estas tres promesas a un punto de promesa.

40
00:02:03,520 --> 00:02:06,580
‫Y si luego esperamos eso, básicamente ejecutará estas tres

41
00:02:06,580 --> 00:02:09,050
‫promesas todas al mismo tiempo y luego

42
00:02:09,050 --> 00:02:11,290
‫las guardará en tres valores

43
00:02:11,290 --> 00:02:14,220
‫resueltos en esta matriz de todos aquí, de acuerdo.

44
00:02:14,220 --> 00:02:17,090
‫Así que echemos un vistazo

45
00:02:17,090 --> 00:02:21,040
‫a eso, a todas las variables, está bien.

46
00:02:21,040 --> 00:02:22,720
‫Así que esto de aquí probablemente nos dará un

47
00:02:22,720 --> 00:02:23,883
‫error ahora, pero no importa.

48
00:02:25,630 --> 00:02:26,680
‫Si, exacto.

49
00:02:26,680 --> 00:02:29,130
‫Pero lo que me interesa aquí es

50
00:02:29,130 --> 00:02:32,210
‫ver si la variable all y lo que quiero

51
00:02:32,210 --> 00:02:36,370
‫mostrarles es que de hecho es una matriz, pero veo que es

52
00:02:36,370 --> 00:02:38,770
‫demasiado grande aquí porque tiene toda

53
00:02:38,770 --> 00:02:41,630
‫esta información sobre todas estas solicitudes http .

54
00:02:41,630 --> 00:02:43,300
‫Vamos a echar un

55
00:02:43,300 --> 00:02:47,670
‫vistazo a este tipo de cosas aquí más adelante y notaremos las secciones.

56
00:02:47,670 --> 00:02:50,380
‫No puedo, ah, aquí está el comienzo.

57
00:02:50,380 --> 00:02:53,600
‫Entonces, ves que en realidad comienza con este corchete, lo que

58
00:02:53,600 --> 00:02:56,070
‫significa que es una matriz, está bien.

59
00:02:56,070 --> 00:02:58,810
‫Pero lo que nos interesa aquí es que, en cada

60
00:02:58,810 --> 00:03:01,020
‫uno de estos elementos, estamos interesados en el

61
00:03:01,020 --> 00:03:03,050
‫mensaje del punto del cuerpo, ¿verdad?

62
00:03:03,050 --> 00:03:05,480
‫Eso es lo que solíamos leer antes de

63
00:03:05,480 --> 00:03:07,200
‫cada uno de los resultados.

64
00:03:07,200 --> 00:03:10,320
‫Entonces, ahora necesitamos crear una nueva

65
00:03:10,320 --> 00:03:14,710
‫matriz que solo contenga estos mensajes de puntos corporales.

66
00:03:14,710 --> 00:03:15,623
‫Vale, ¿tiene sentido?

67
00:03:17,940 --> 00:03:20,090
‫Y usemos mapas para eso.

68
00:03:20,090 --> 00:03:23,270
‫Entonces imágenes y todos los mapas de

69
00:03:23,270 --> 00:03:24,103
‫puntos.

70
00:03:24,103 --> 00:03:27,470
‫Y espero que esté familiarizado con estos, todos estos

71
00:03:27,470 --> 00:03:28,700
‫métodos de matriz.

72
00:03:28,700 --> 00:03:32,270
‫Entonces, los mapas recorrerán la matriz de todos y

73
00:03:32,270 --> 00:03:35,960
‫el valor de seguridad que devolvemos en cada iteración en

74
00:03:35,960 --> 00:03:39,260
‫una nueva matriz llamada imágenes, está bien.

75
00:03:39,260 --> 00:03:41,630
‫Y el valor actual en cada iteración

76
00:03:41,630 --> 00:03:44,260
‫se llama elemento y lo que devolveremos es

77
00:03:44,260 --> 00:03:47,123
‫el mensaje del punto del cuerpo del punto del elemento.

78
00:03:48,900 --> 00:03:50,860
‫Bien, eso es JavaScript básico

79
00:03:50,860 --> 00:03:54,760
‫y ya debería estar familiarizado con ese tipo de cosas.

80
00:03:54,760 --> 00:03:55,593
‫Bien.

81
00:03:56,610 --> 00:04:00,223
‫Entonces, si ahora miramos las imágenes, eso debería, bueno,

82
00:04:02,200 --> 00:04:03,750
‫¿dónde está eso?

83
00:04:03,750 --> 00:04:06,860
‫Oh, todos los mapas de puntos, oh, por supuesto que no son

84
00:04:06,860 --> 00:04:08,653
‫mapas, son solo mapas, lo siento.

85
00:04:11,100 --> 00:04:14,200
‫Y aquí, de hecho, tenemos ahora nuestra matriz

86
00:04:14,200 --> 00:04:15,860
‫con estas tres imágenes.

87
00:04:15,860 --> 00:04:18,000
‫Entonces, genial, son tres imágenes diferentes.

88
00:04:18,000 --> 00:04:19,210
‫Y ahora todo

89
00:04:19,210 --> 00:04:22,060
‫lo que tenemos que hacer es guardarlos en nuestro archivo.

90
00:04:22,060 --> 00:04:24,810
‫Así que en este momento todavía obtenemos res como no definido y

91
00:04:24,810 --> 00:04:27,080
‫eso se debe a que todavía estamos intentando escribir el

92
00:04:27,080 --> 00:04:29,130
‫mensaje de punto del cuerpo del punto res.

93
00:04:29,130 --> 00:04:32,473
‫Pero res no existe, por eso obtenemos ese error.

94
00:04:33,620 --> 00:04:36,110
‫Entonces, en cambio, lo que queremos escribir

95
00:04:37,129 --> 00:04:40,653
‫aquí es una cadena, básicamente, que contiene estas tres cadenas.

96
00:04:42,110 --> 00:04:45,823
‫Entonces, lo que hacemos es unir puntos de imágenes.

97
00:04:48,400 --> 00:04:50,360
‫Y los uniremos poniendo

98
00:04:50,360 --> 00:04:52,770
‫un carácter de nueva línea entre ellos.

99
00:04:52,770 --> 00:04:57,440
‫Así que la barra invertida n, significa una nueva línea, está bien.

100
00:04:57,440 --> 00:05:00,750
‫Y eso básicamente pondrá estas tres cadenas, cada una,

101
00:05:00,750 --> 00:05:03,430
‫en una nueva línea, está bien.

102
00:05:03,430 --> 00:05:07,420
‫Así que join, une las tres cadenas en una nueva

103
00:05:07,420 --> 00:05:11,520
‫cadena y las une usando un carácter de nueva línea entre ellas.

104
00:05:11,520 --> 00:05:14,823
‫Está bien, y eso debería funcionar.

105
00:05:15,670 --> 00:05:16,503
‫Dale una oportunidad.

106
00:05:17,760 --> 00:05:21,220
‫Y sí, ahora dice imagen de puntos aleatorios guardada en un archivo,

107
00:05:21,220 --> 00:05:22,390
‫no más errores.

108
00:05:22,390 --> 00:05:25,670
‫Echemos un vistazo, imagen de puntos, y así fue, aquí vamos.

109
00:05:25,670 --> 00:05:27,290
‫Y tenemos tres imágenes diferentes.

110
00:05:27,290 --> 00:05:32,010
‫Primero este, luego este tipo y finalmente el tercero.

111
00:05:32,010 --> 00:05:33,950
‫Entonces, tres imágenes de perros diferentes.

112
00:05:33,950 --> 00:05:36,200
‫Y los obtuvimos todos al

113
00:05:36,200 --> 00:05:39,830
‫mismo tiempo usando el punto de promesa todo, de acuerdo.

114
00:05:39,830 --> 00:05:43,320
‫Espero que tenga sentido y, de hecho, espero que toda esta

115
00:05:43,320 --> 00:05:46,140
‫sección tenga sentido para ti porque a partir

116
00:05:46,140 --> 00:05:48,680
‫de ahora, asumiré que conoces los conceptos

117
00:05:48,680 --> 00:05:51,430
‫básicos de las promesas y una sola espera.

118
00:05:51,430 --> 00:05:53,290
‫Y de hecho, comenzaremos

119
00:05:53,290 --> 00:05:55,860
‫a usarlos durante el resto del curso,

120
00:05:55,860 --> 00:05:58,830
‫suponiendo que sepa lo que estamos haciendo, está bien.

121
00:05:58,830 --> 00:06:01,000
‫Y Node en realidad admite una

122
00:06:01,000 --> 00:06:03,330
‫sola espera desde su versión siete punto seis,

123
00:06:03,330 --> 00:06:05,773
‫por lo que ahora podemos usarlo sin ningún problema.

