- 1

Fundamentos de JavaScript para Principiantes
02:49 - 2

Instalación y Configuración de JavaScript en Visual Studio Code
04:10 - 3

Instalación y configuración de Visual Studio Code y Node.js en Windows
05:11 - 4

Variables y Buenas Prácticas en JavaScript
09:23 - 5

Tipos de Datos en JavaScript: Primitivos y Complejos
07:59 - 6

Manipulación de Strings en JavaScript: Escritura, Concatenación y Substrings
07:08 - 7

Números y Operaciones Matemáticas en JavaScript
09:30 - 8

Conversión de Tipos en JavaScript: Implícita y Explícita
04:33 - 9

Conversión de Tipos en JavaScript: Explícita e Implícita
12:20
Peticiones asíncronas con for await en JavaScript
Clase 48 de 55 • Curso de Fundamentos de JavaScript
Contenido del curso
- 10

Operadores de Comparación en JavaScript: Igualdad y Desigualdad
06:12 - 11

Operadores Lógicos en Programación: AND, OR y NOT
04:33 - 12

Estructuras Condicionales: Uso de IF, ELSE y ELSE IF en JavaScript
07:45 - 13

Juego de Adivinanza: Programación con Estructuras Condicionales
09:36 - 14

Estructura y uso del condicional Switch en programación
12:10 - 15

Ciclo For: Iteración de Listas y Uso de Console.log en JavaScript
07:31 - 16

Iteración con for-of en JavaScript para arrays y strings
04:26 - 17

Iteración sobre Objetos con forIn en JavaScript
07:38 - 18

Uso del ciclo while para iteración en programación
03:56 - 19

Ciclos doWhile: Estructura y Diferencias con While
03:13
- 20

Funciones en JavaScript: Cómo Calcular Precios con Descuentos
11:39 - 21

Diferencias entre Funciones y Métodos en JavaScript
10:01 - 22

Funciones Puras e Impuras en Programación: Conceptos y Ejemplos
11:22 - 23

Arrow Functions y Enlace Léxico en JavaScript
10:31 - 24

Scope y Contextos de Ejecución en JavaScript
12:21 - 25

Closures y Ámbito Léxico en JavaScript
08:00 - 26

Fundamentos del Desarrollo Web: Frontend y Backend
02:11
- 27

Arrays: Propiedades, Acceso y Creación en Programación
09:09 - 28

Mutabilidad e inmutabilidad en arrays: conceptos y ejemplos prácticos
07:56 - 29

Métodos push y pop para modificar arrays en JavaScript
04:33 - 30

Métodos map y forEach en JavaScript: Uso y Ejemplos Prácticos
12:53 - 31

Métodos Filter y Reduce en JavaScript: Uso y Ejemplos Prácticos
11:34 - 32

Métodos find y findIndex en JavaScript: Uso y ejemplos prácticos
03:52 - 33

Uso del método slice para extraer porciones de un array en JavaScript
05:28 - 34

Uso del Spread Operator en JavaScript: Copia, Combinación y Más
07:11
- 35

Programación Orientada a Objetos en JavaScript: Conceptos y Práctica
06:48 - 36

Creación y Manipulación de Objetos en JavaScript
09:05 - 37

Función constructora y gestión de instancias en JavaScript
11:36 - 38

Clases en JavaScript: Creación y Uso de Objetos con Sintaxis Moderna
06:17 - 39

Programación Orientada a Objetos en JavaScript: Clases y Prototipos
02:16 - 40

Prototipos y Herencia en JavaScript: Construcción y Uso Práctico
15:38 - 41

Métodos y herencia prototípica en JavaScript
10:43 - 42

Uso de "this" en Clases y Funciones Constructoras
05:36 - 43

Validación de Usuarios en una Red Social: Algoritmo Básico
12:26 - 44

Implementación de la Función Sign-In y Validación de Usuario
09:00
- 45

Programación Síncrona y Asíncrona en JavaScript
04:37 - 46

Promesas en JavaScript: Asincronía y Manejo de Estados
11:36 - 47

Uso de Async/Await para Promesas Asíncronas en JavaScript
09:51 - 48

Peticiones asíncronas con for await en JavaScript
06:19 - 49

Fundamentos de HTTP: Cliente-Servidor y Métodos de Petición
03:12 - 50

Peticiones HTTP en Frontend: Uso de Fetch y Análisis en Network
07:02 - 51

Peticiones HTTP en JavaScript: Fetch, GET, POST y DELETE
14:26 - 52

Envío de Datos al Servidor con JavaScript y Fetch API
10:40 - 53

Eliminar Posts con JavaScript y Delegación de Eventos
10:15 - 54

Manejo de IDs en JavaScript para eliminar artículos del DOM
02:23 - 55

Actualizaciones y Nuevas Funciones en JavaScript
01:48
¿Cómo realizar múltiples peticiones HTTP de forma eficiente en JavaScript?
¿Alguna vez te has enfrentado a la necesidad de realizar múltiples peticiones HTTP en un proyecto de desarrollo web? Este es un desafío común, especialmente cuando interactuamos con varias APIs al mismo tiempo. La solución más eficiente es usar el ciclo for await...of, combinando async y await para ejecutar promesas de manera asíncrona. Esto no solo hace que el código sea más limpio, sino que también mejora el rendimiento y la experiencia del usuario al no bloquear la carga de otros elementos en la aplicación.
¿Qué es y cómo funciona for await...of?
El for await...of es una herramienta poderosa en JavaScript. Es un bucle que permite iterar sobre objetos asíncronos, como promesas, de manera que podemos esperar a que cada una se resuelva antes de continuar con la siguiente. La sintaxis es intuitiva y se adapta bien cuando necesitas trabajar con múltiples solicitudes HTTP.
Por ejemplo, digamos que tienes un array de URLs de una API, como la de Rick and Morty. Puedes iterar sobre cada URL y realizar una petición fetch asíncrona de la siguiente manera:
async function fetchNewData() {
const URLs = [
'url1', // Reemplazar con URLs reales
'url2',
'url3'
];
try {
for await (let URL of URLs) {
let response = await fetch(URL);
let data = await response.json();
console.log(data);
}
} catch (error) {
console.error('Error:', error);
}
}
fetchNewData();
¿Cómo estructurar el código para manejar errores?
Manejar errores es fundamental cuando trabajas con peticiones asíncronas. Utilizar bloques try...catch es la manera recomendada para capturar y manejar errores, como fallas en las solicitudes de red. Esto asegura que tu aplicación no falle por completo si una de las peticiones falla y puedes reaccionar adecuadamente, por ejemplo, mostrando un mensaje de error al usuario.
Dentro del ciclo for await, el bloque try se encarga de realizar la fetch y convertir la respuesta a formato JSON. Si alguna de estas operaciones falla, el control pasa al bloque catch, donde podemos manejar el error de manera elegante.
¿Cuáles son los beneficios de usar for await...of en proyectos reales?
- Rendimiento sin bloqueo: La ejecución de peticiones de manera asíncrona permite al navegador seguir procesando otros elementos de la interfaz de usuario, mejorando la experiencia.
- Código más limpio y manejable: Al usar
async/await, tu código se vuelve más legible y fácil de mantener comparado con las promesas tradicionales o los callbacks. - Escalabilidad: Puedes fácilmente adaptar este enfoque para manejar más URLs o añadir lógica adicional al proceso de cada respuesta.
Implementar estas técnicas en tus proyectos no solo optimiza su rendimiento, sino que también proporciona una base robusta para manejar escenarios complejos donde múltiples elementos de datos deben ser cargados y procesados simultáneamente. Así que, ¡anímate a aplicar for await...of en tus futuros desarrollos y experimenta la eficiencia y fluidez mejorada de tus aplicaciones!