Cuando programamos en JavaScript, constantemente trabajamos con operaciones asíncronas como solicitudes a un servicio web, cálculos, eventos, etc.
La complejidad de las operaciones asíncronas es que no se sabe cuándo van a terminar, por lo que debe existir un mecanismo que nos informe sobre si una tarea ha sido completada o no, qué resultado produjo y si se completó con éxito o hubo un error, y en caso de que haya habido un error, de qué error se trata.
Para solucionar esto se han introducido distintas estrategias, objetos y estructuras que permitan trabajar en un flujo de operaciones asíncronas, inicialmente teníamos los callbacks, funciones que se asignaban y eran llamadas cuando la operación asíncrona había retornado.
Eventualmente se introdujeron las promesas, objetos pensados para valores asíncronos con funcionalidad adicional pensada precisamente para trabajar con 1 o varias operaciones asíncronas en un programa.
Las promesas, como aprendimos antes, introdujeron incontables mejoras por sobre los callbacks, sin embargo, la sintaxis puede parecer confusa y poco legible, además de que es un concepto que puede ser desafiante para nuevos desarrolladores de JavaScript.
En versiones más nuevas del lenguaje se introdujo el concepto de funciones asíncronas, dentro de las que trabajar con promesas se vuelve más simple con el uso de la palabra reservada await.
En este bloque conocerás los detalles de las funciones asíncronas, la sintaxis, cómo funcionan y cómo puedes usarlas para manejar operaciones asíncronas, como podrás ver más adelante, esto significará que el código de manejo de operaciones asíncronas se vuelve más expresivo y sencillo, sin perder por supuesto la funcionalidad correspondiente.
Continuemos.
-
Módulo 1 | 10 clases
Introducción
expand_more-
play_circle_outline
Clase 1
Presentación del curso de JavaScript
-
play_circle_outline
Clase 2
Acerca del lenguaje
-
play_circle_outline
Clase 3
Qué cubriremos en este curso
-
play_circle_outline
Clase 4
Qué hay de nuevo en esta actualización del curso
-
play_circle_outline
Clase 5
Cómo ejecutar código de JavaScript
-
play_circle_outline
Clase 6
Editor de texto y archivos de javaScript
-
play_circle_outline
Clase 7
Dónde puedo investigar más
-
play_circle_outline
Clase 8
Configurar el entorno de trabajo
-
play_circle_outline
Clase 9
Imprimir mensajes
-
play_circle_outline
Clase 10
Recibir datos
-
-
Módulo 2 | 13 clases
Conceptos básicos
expand_more-
play_circle_outline
Clase 1
Cómo es el lenguaje técnicamente
-
play_circle_outline
Clase 2
Qué son las variables y las constantes
-
play_circle_outline
Clase 3
Variables y constantes en javaScript
-
play_circle_outline
Clase 4
Números y operaciones aritméticas
-
play_circle_outline
Clase 5
Tipos de datos
-
play_circle_outline
Clase 6
Coerción de tipos
-
play_circle_outline
Clase 7
Booleanos
-
play_circle_outline
Clase 8
Truthy y Falsy
-
play_circle_outline
Clase 9
Operadores de comparación
-
play_circle_outline
Clase 10
Operadores lógicos
-
play_circle_outline
Clase 11
Condiciones
-
play_circle_outline
Clase 12
Ciclos
-
play_circle_outline
Clase 13
undefined, null y NaN
-
-
Módulo 3 | 8 clases
Fundamentos de funciones
expand_more-
play_circle_outline
Clase 1
Introducción a las funciones
-
play_circle_outline
Clase 2
El scope o alcance
-
play_circle_outline
Clase 3
Alcance de función y de bloque
-
play_circle_outline
Clase 4
Argumentos de funciones
-
play_circle_outline
Clase 5
Pase por valor y por referencia
-
play_circle_outline
Clase 6
Funciones puras
-
play_circle_outline
Clase 7
First class objects
-
play_circle_outline
Clase 8
Hoisting
-
-
Módulo 4 | 10 clases
Arreglos
expand_more-
play_circle_outline
Clase 1
Arreglos y sus usos
-
play_circle_outline
Clase 2
Conceptos básicos de los arreglos
-
play_circle_outline
Clase 3
Recorrer un arreglo
-
play_circle_outline
Clase 4
Operaciones funcionales con arreglos
-
play_circle_outline
Clase 5
Recorrer un arreglo con forEach
-
play_circle_outline
Clase 6
Modificar arreglos con map
-
play_circle_outline
Clase 7
Filtrar elementos con filter
-
play_circle_outline
Clase 8
Reducir un arreglo a un solo elemento con reduce
-
play_circle_outline
Clase 9
Buscar elementos con un arreglo
-
play_circle_outline
Clase 10
Spread y rest sintax
-
-
Módulo 5 | 6 clases
Objetos y JSON
expand_more-
play_circle_outline
Clase 1
Qué es la programación orientada a objetos
-
play_circle_outline
Clase 2
Declarar un objeto JSON
-
play_circle_outline
Clase 3
Shorthand syntax
-
play_circle_outline
Clase 4
Duplicar o combinar objetos
-
play_circle_outline
Clase 5
Destructuring assignment
-
play_circle_outline
Clase 6
Funciones constructoras
-
-
Módulo 6 | 4 clases
El contexto
expand_more -
Módulo 7 | 7 clases
Clases
expand_more-
play_circle_outline
Clase 1
Definir clases
-
play_circle_outline
Clase 2
Definir métodos y propiedades
-
play_circle_outline
Clase 3
Alcance de propiedades
-
play_circle_outline
Clase 4
Método constructor
-
play_circle_outline
Clase 5
Herencia de clases
-
play_circle_outline
Clase 6
Métodos accesores
-
play_circle_outline
Clase 7
Métodos y propiedades estáticas
-
-
Módulo 8 | 4 clases
Prototipos
expand_more -
Módulo 9 | 8 clases
Programación asíncrona
expand_more-
play_circle_outline
Clase 1
Qué es la programación asíncrona
-
play_circle_outline
Clase 2
Configuración de node.js
-
play_circle_outline
Clase 3
Callbacks
-
play_circle_outline
Clase 4
Promesas
-
play_circle_outline
Clase 5
Callbacks de las promesas
-
play_circle_outline
Clase 6
Crear promesas
-
play_circle_outline
Clase 7
Resolver múltiples promesas
-
play_circle_outline
Clase 8
Encadenar promesas
-
-
Módulo 10 | 4 clases
Funciones asíncronas (async | await)
expand_more -
Módulo 11 | 5 clases
Módulos
expand_more -
Módulo 12 | 10 clases
Generadores e iteradores
expand_more-
play_circle_outline
Clase 1
Generadores e Iteradores
-
play_circle_outline
Clase 2
Iteradores
-
play_circle_outline
Clase 3
Generadores
-
play_circle_outline
Clase 4
Return en funciones generadoras
-
play_circle_outline
Clase 5
Delegar generadores
-
play_circle_outline
Clase 6
Dónde se usan los generadores
-
play_circle_outline
Clase 7
Símbolos en JavaScript
-
play_circle_outline
Clase 8
Manejo de símbolos
-
play_circle_outline
Clase 9
Iterables con iteradores
-
play_circle_outline
Clase 10
Iterables y generadores
-
-
Módulo 13 | 11 clases
Cadenas a fondo
expand_more-
play_circle_outline
Clase 1
Strings o cadenas
-
play_circle_outline
Clase 2
Cómo definir una cadena
-
play_circle_outline
Clase 3
Caracteres especiales
-
play_circle_outline
Clase 4
Concatenación e interpolación
-
play_circle_outline
Clase 5
Comparación de cadenas
-
play_circle_outline
Clase 6
Subcadenas y caracteres
-
play_circle_outline
Clase 7
Búsqueda
-
play_circle_outline
Clase 8
Cadenas y arreglos
-
play_circle_outline
Clase 9
Otros métodos de las cadenas
-
play_circle_outline
Clase 10
Unicode
-
play_circle_outline
Clase 11
Planos unicode
-
-
Módulo 14 | 7 clases
Expresiones regulares
expand_more-
play_circle_outline
Clase 1
Expresiones regulares
-
play_circle_outline
Clase 2
Búsqueda con expresiones regulares
-
play_circle_outline
Clase 3
Reemplazando patrones
-
play_circle_outline
Clase 4
Rangos en regex
-
play_circle_outline
Clase 5
Agrupamiento
-
play_circle_outline
Clase 6
Cuantificadores
-
play_circle_outline
Clase 7
Ejercicio final regex
-