‫Instructor: Y ahora, para
‫terminar la sección, permítanme mostrarles un buen
‫truco sobre cómo básicamente podemos ejecutar muchas promesas al mismo tiempo.
‫Así que supongamos que en realidad quisiéramos obtener tres imágenes
‫de perros al azar y no solo una.
‫Podríamos hacer algo como esto.
‫Así que simplemente esperando llamadas D3API, una tras otra.
‫Pero, ¿por qué haríamos que la segunda llamada
‫a la API espere
‫a la primera y la tercera espere a la segunda?
‫Eso solo agregaría un tiempo de espera
‫innecesario cuando podríamos ejecutar
‫todas estas promesas al mismo tiempo.
‫Déjame mostrarte cómo podemos hacer eso.
‫Entonces, la solución no será algo como esto,
‫sino que lo que haremos es no esperar una
‫promesa en este punto, sino guardar la
‫promesa en una variable.
‫Entonces, nuevamente, queremos guardar ahora la
‫promesa y no el valor resuelto de la promesa.
‫Entonces, llamemos a este aquí, resultado uno, pro,
‫que significa promesa.
‫Así que recuerde que este de aquí devuelve una promesa.
‫De acuerdo, y si no lo
‫esperamos, bueno, simplemente guardaremos la promesa en la variable y
‫no su valor resuelto.
‫Así que hagamos eso aquí dos veces más.
‫Entonces uno para cada imagen aleatoria que queramos.
‫Bien, y así, tenemos tres promesas.
‫Ahora, con el fin de obtener los
‫valores resueltos,
‫las tres imágenes, creamos una nueva variable y lo que esperamos
‫es la promesa de todo, de acuerdo.
‫Y en la promesa de todo, pasamos una serie de promesas.
‫Y eso va a ser res
‫uno pro, res dos pro y res tres pro.
‫De acuerdo, de nuevo, tenemos estas tres promesas y estas
‫tres variables y podemos pasar una matriz que
‫contiene estas tres promesas a un punto de promesa.
‫Y si luego esperamos eso, básicamente ejecutará estas tres
‫promesas todas al mismo tiempo y luego
‫las guardará en tres valores
‫resueltos en esta matriz de todos aquí, de acuerdo.
‫Así que echemos un vistazo
‫a eso, a todas las variables, está bien.
‫Así que esto de aquí probablemente nos dará un
‫error ahora, pero no importa.
‫Si, exacto.
‫Pero lo que me interesa aquí es
‫ver si la variable all y lo que quiero
‫mostrarles es que de hecho es una matriz, pero veo que es
‫demasiado grande aquí porque tiene toda
‫esta información sobre todas estas solicitudes http .
‫Vamos a echar un
‫vistazo a este tipo de cosas aquí más adelante y notaremos las secciones.
‫No puedo, ah, aquí está el comienzo.
‫Entonces, ves que en realidad comienza con este corchete, lo que
‫significa que es una matriz, está bien.
‫Pero lo que nos interesa aquí es que, en cada
‫uno de estos elementos, estamos interesados en el
‫mensaje del punto del cuerpo, ¿verdad?
‫Eso es lo que solíamos leer antes de
‫cada uno de los resultados.
‫Entonces, ahora necesitamos crear una nueva
‫matriz que solo contenga estos mensajes de puntos corporales.
‫Vale, ¿tiene sentido?
‫Y usemos mapas para eso.
‫Entonces imágenes y todos los mapas de
‫puntos.
‫Y espero que esté familiarizado con estos, todos estos
‫métodos de matriz.
‫Entonces, los mapas recorrerán la matriz de todos y
‫el valor de seguridad que devolvemos en cada iteración en
‫una nueva matriz llamada imágenes, está bien.
‫Y el valor actual en cada iteración
‫se llama elemento y lo que devolveremos es
‫el mensaje del punto del cuerpo del punto del elemento.
‫Bien, eso es JavaScript básico
‫y ya debería estar familiarizado con ese tipo de cosas.
‫Bien.
‫Entonces, si ahora miramos las imágenes, eso debería, bueno,
‫¿dónde está eso?
‫Oh, todos los mapas de puntos, oh, por supuesto que no son
‫mapas, son solo mapas, lo siento.
‫Y aquí, de hecho, tenemos ahora nuestra matriz
‫con estas tres imágenes.
‫Entonces, genial, son tres imágenes diferentes.
‫Y ahora todo
‫lo que tenemos que hacer es guardarlos en nuestro archivo.
‫Así que en este momento todavía obtenemos res como no definido y
‫eso se debe a que todavía estamos intentando escribir el
‫mensaje de punto del cuerpo del punto res.
‫Pero res no existe, por eso obtenemos ese error.
‫Entonces, en cambio, lo que queremos escribir
‫aquí es una cadena, básicamente, que contiene estas tres cadenas.
‫Entonces, lo que hacemos es unir puntos de imágenes.
‫Y los uniremos poniendo
‫un carácter de nueva línea entre ellos.
‫Así que la barra invertida n, significa una nueva línea, está bien.
‫Y eso básicamente pondrá estas tres cadenas, cada una,
‫en una nueva línea, está bien.
‫Así que join, une las tres cadenas en una nueva
‫cadena y las une usando un carácter de nueva línea entre ellas.
‫Está bien, y eso debería funcionar.
‫Dale una oportunidad.
‫Y sí, ahora dice imagen de puntos aleatorios guardada en un archivo,
‫no más errores.
‫Echemos un vistazo, imagen de puntos, y así fue, aquí vamos.
‫Y tenemos tres imágenes diferentes.
‫Primero este, luego este tipo y finalmente el tercero.
‫Entonces, tres imágenes de perros diferentes.
‫Y los obtuvimos todos al
‫mismo tiempo usando el punto de promesa todo, de acuerdo.
‫Espero que tenga sentido y, de hecho, espero que toda esta
‫sección tenga sentido para ti porque a partir
‫de ahora, asumiré que conoces los conceptos
‫básicos de las promesas y una sola espera.
‫Y de hecho, comenzaremos
‫a usarlos durante el resto del curso,
‫suponiendo que sepa lo que estamos haciendo, está bien.
‫Y Node en realidad admite una
‫sola espera desde su versión siete punto seis,
‫por lo que ahora podemos usarlo sin ningún problema.