JavaScript
Tutorial JavaScript: Async / Await
JavaScript async await: manejo asincrónico. Aprende a manejar asincronía en JavaScript utilizando async y await con ejemplos detallados.
Aprende JavaScript GRATIS y certifícateLos conceptos de async
y await
en JavaScript es parte fundamental de la programación asíncrona, que permite que las operaciones no bloqueantes se lleven a cabo sin interrumpir el flujo principal del programa.
Funciones asíncronas (async
)
Una función asíncrona se declara con la palabra clave async
antes de la palabra clave function
o antes de los paréntesis al usar una función flecha. Las funciones asíncronas siempre retornan una promesa. Si el valor retornado dentro de la función no es una promesa, JavaScript automáticamente lo envuelve en una promesa resuelta con ese valor.
Aquí se muestra una función asíncrona básica:
async function miFuncion() {
return "Hola Mundo";
}
// La función anterior es equivalente a:
/*
function miFuncion() {
return new Promise((resolve, reject) => resolve("Hola Mundo"));
}
*/
// Imprime: Hola Mundo
miFuncion().then((valor) => console.log(valor));
Operador de espera (await
)
El operador await
sólo puede ser utilizado dentro de una función async
. Este operador hace una pausa en la ejecución de la función hasta que la promesa se resuelva o rechace, luego retorna el resultado de la promesa.
async function miFuncion() {
// Declarar promesa que se resuelva tras 1 segundo
let promesa = new Promise((resolve, reject) => {
setTimeout(() => resolve("Hola Mundo"), 1000)
});
let resultado = await promesa; // Espera hasta que la promesa se resuelva
console.log(resultado); // Imprime: Hola Mundo
}
miFuncion();
En el código anterior, la función miFuncion
pausa su ejecución en let resultado = await promesa;
, hasta que la promesa se resuelva. Luego la ejecución continúa con console.log(resultado);
.
Manejo de errores
Es importante manejar adecuadamente los errores en la programación asíncrona. Para ello se puede utilizar try/catch
alrededor de las promesas.
Aquí se muestra un ejemplo:
async function miFuncion() {
try {
let promesa = new Promise((resolve, reject) => {
setTimeout(() => reject("Ha ocurrido un error"), 1000)
});
let resultado = await promesa; // Espera hasta que la promesa se resuelva o se rechace
} catch(error) {
console.log(error); // Imprime: Ha ocurrido un error
}
}
miFuncion();
En este código, si la promesa se rechaza, el error es capturado y manejado por el bloque catch
.
En resumen, async
y await
son herramientas poderosas en JavaScript que simplifican el trabajo con operaciones asíncronas, haciendo que el código sea más fácil de leer y escribir.
Ejercicios de esta lección Async / Await
Evalúa tus conocimientos de esta lección Async / Await con nuestros retos de programación de tipo Test, Puzzle, Código y Proyecto con VSCode, guiados por IA.
Funciones flecha
Polimorfismo
Array
Transformación con map()
Introducción a JavaScript
Gestor de tareas con JavaScript
Manipulación DOM
Funciones
Funciones flecha
Async / Await
Creación y uso de variables
Excepciones
Promises
Funciones cierre (closure)
Herencia
Herencia
Estructuras de control
Selección de elementos DOM
Modificación de elementos DOM
Filtrado con filter() y find()
Funciones cierre (closure)
Funciones
Mapas con Map
Reducción con reduce()
Callbacks
Manipulación DOM
Promises
Async / Await
Eventos del DOM
Async / Await
Promises
Filtrado con filter() y find()
Callbacks
Creación de clases y objetos Restaurante
Reducción con reduce()
Filtrado con filter() y find()
Reducción con reduce()
Conjuntos con Set
Herencia de clases
Eventos del DOM
Clases y objetos
Modificación de elementos DOM
Mapas con Map
Funciones
Tipos de datos
Clases y objetos
Array
Conjuntos con Set
Array
Encapsulación
Clases y objetos
Uso de operadores
Uso de operadores
Estructuras de control
Excepciones
Transformación con map()
Funciones flecha
Selección de elementos DOM
Encapsulación
Mapas con Map
Creación y uso de variables
Polimorfismo
Tipos de datos
Estructuras de control
Todas las lecciones de JavaScript
Accede a todas las lecciones de JavaScript y aprende con ejemplos prácticos de código y ejercicios de programación con IDE web sin instalar nada.
Introducción A Javascript
Sintaxis
Tipos De Datos
Sintaxis
Variables
Sintaxis
Operadores
Sintaxis
Estructuras De Control
Sintaxis
Funciones
Sintaxis
Funciones Cierre (Closure)
Sintaxis
Funciones Flecha
Programación Funcional
Filtrado Con Filter() Y Find()
Programación Funcional
Transformación Con Map()
Programación Funcional
Reducción Con Reduce()
Programación Funcional
Clases Y Objetos
Programación Orientada A Objetos
Excepciones
Programación Orientada A Objetos
Encapsulación
Programación Orientada A Objetos
Herencia
Programación Orientada A Objetos
Polimorfismo
Programación Orientada A Objetos
Array
Estructuras De Datos
Conjuntos Con Set
Estructuras De Datos
Mapas Con Map
Estructuras De Datos
Manipulación Dom
Dom
Selección De Elementos Dom
Dom
Modificación De Elementos Dom
Dom
Eventos Del Dom
Dom
Callbacks
Programación Asíncrona
Promises
Programación Asíncrona
Async / Await
Programación Asíncrona
Certificados de superación de JavaScript
Supera todos los ejercicios de programación del curso de JavaScript y obtén certificados de superación para mejorar tu currículum y tu empleabilidad.
En esta lección
Objetivos de aprendizaje de esta lección
- Comprender el concepto de funciones asíncronas (
async
) en JavaScript y su relación con las promesas. - Aprender a utilizar la palabra clave
async
para declarar funciones asíncronas. - Entender cómo el valor retornado dentro de una función
async
se envuelve automáticamente en una promesa. - Conocer el operador
await
y cómo se utiliza para pausar la ejecución hasta que una promesa se resuelva o rechace. - Aprender a manejar errores utilizando
try/catch
en funcionesasync
. - Comprender cómo
async
yawait
simplifican y mejoran la legibilidad del código en situaciones con operaciones asíncronas.