Introducción

1

Historia de JavaScript: ¬Ņqu√© es ECMAScript?

2

¬ŅQu√© es el TC39?

Configuracion

3

Configurando nuestras herramientas

¬ŅQu√© se implement√≥ en ES6?

4

ES6: generator

5

ES6: let y const, y arrow functions

6

ES6: strings

7

ES6: par√°metros por defecto

8

ES6: asignación de desestructuración

9

ES6: spread operator

10

Playground: Combina objetos JSON con el Spread Operator

11

ES6: clases

12

ES6: object literals

13

ES6: promesas

14

ES6: module

15

Playground: Obtén una lista de películas

16

ES6: clases

17

ES6: clases

18

ES6: generator

19

Playground: Generador de identificadores para michis

20

ES6: set-add

¬ŅQu√© se implement√≥ en ES7?

21

ES7: exponentiation operator y array includes

¬ŅQu√© se implement√≥ en ES8?

22

ES8: object entries y object values

23

ES8: string padding y trailing commas

24

ES8: funciones asíncronas

¬ŅQu√© se implement√≥ en ES9?

25

ES9: expresiones regulares

26

ES9: Promise.finally

¬ŅQu√© se implement√≥ en ES10?

27

ES10: flat-map y trimStart-trimEnd

28

ES10: try catch y fromEntries

¬ŅQu√© se implement√≥ en ES11?

29

ES11: optional chaining

30

ES11: BigInt y Nullish

31

ES11: Promise.allSettled

32

ES11: globalThis y matchAll

33

ES11: dynamic Import

¬ŅQu√© se implement√≥ en ES12?

34

ES12: numeric-separators y replaceAll

35

ES12: promise-any y métodos privados

¬ŅQu√© se implement√≥ en ES13?

36

ES13: at

37

ES13: top level await en el consumo de una API

Recapitulación

38

Performance

No tienes acceso a esta clase

¬°Contin√ļa aprendiendo! √önete y comienza a potenciar tu carrera

Reg√°late acceso ilimitado a todos los cursos por 1 a√Īo a precio especial de Navidad ūüéĄ

Antes: $199

Currency
$149/a√Īo
regístrate

termina en:

16D
15H
0M
13S

ES11: Promise.allSettled

31/38
Recursos

En alguna situaci√≥n necesitar√°s manejar varias promesas y obtener sus resultados. ¬ŅC√≥mo? Utilizando los m√©todos Promise.all y Promise.allSettled.

Promise.all

El método Promise.all sirve para manejar varias promesas al mismo tiempo. Recibe como argumento un array de promesas.

Promise.all([promesa1, promesa2, promesa3])
    .then(respuesta => console.log(respuesta))
    .catch(error => console.log(error))

El problema es que Promise.all() se resolver√°, si y solo si todas las promesas fueron resueltas. Si al menos una promesa es rechazada, Promise.all ser√° rechazada.

Promise.allSettled

Promise.allSettled() permite manejar varias promesas, que devolver√° un array de objetos con el estado y el valor de cada promesa, haya sido resuelta o rechazada.

const promesa1 = Promise.reject("Ups promesa 1 falló")
const promesa2 = Promise.resolve("Promesa 2")
const promesa3 = Promise.reject("Ups promesa 3 falló")

Promise.allSettled([promesa1, promesa2, promesa3])
    .then(respuesta => console.log(respuesta))

/* [
  {
    status: 'rejected',
    reason: 'Ups promesa 1 falló'
  },
  { status: 'fulfilled', value: 'Promesa 2' },
  {
    status: 'rejected',
    reason: 'Ups promesa 3 falló'
  }
] */

¬ŅDeber√≠a usar Promise.allSettled en lugar de Promise.all? No, porque ambas son muy √ļtiles dependiendo c√≥mo quieras manejar tus promesas.

Contribución creada por Andrés Guano (Platzi Contributor).

Aportes 9

Preguntas 0

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.

Por si alguien más tenía la duda.

‚Äúresolve‚ÄĚ y ‚Äúreject‚ÄĚ no son palabras reservadas (pero s√≠ com√ļnmente usadas en la sintaxis de una promesa. Se puede usar cualquier nombre como:

new Promise((simon, nel ) => (true) ? simon() : nel())

Tambien existe

Promise.all()

El método Promise.all(iterable) devuelve una promesa que termina correctamente cuando todas las promesas en el argumento iterable han sido concluídas con éxito, o bien rechaza la petición con el motivo pasado por la primera promesa que es rechazada. MDN (https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Promise/all)

La diferencia con

Promise.allSettled()

Ejecuta todas las promesas sin importar si son rechazadas o no.

Hola [email protected]

**ES11: **

  • Promise.allSettled
const promise1 = new Promise((resolve, reject) => reject("reject"));
const promise2 = new Promise((resolve, reject) => resolve("resolve"));
const promise3 = new Promise((resolve, reject) => resolve("resolve2"));

Promise.allSettled([promise1, promise2, promise3])
.then(response => console.log(response));

El método Promise.allSettled() devuelve una promesa que se cumple después de que todas las promesas dadas se hayan cumplido o rechazado, con una matriz de objetos que describen el resultado de cada promesa.

Por lo general, se usa cuando tiene varias tareas asincrónicas que no dependen unas de otras para completarse correctamente, o si siempre desea saber el resultado de cada promesa.

En comparación, la Promesa devuelta por Promise.all() puede ser más apropiada si las tareas dependen unas de otras/si desea rechazar inmediatamente cualquiera de ellas

Es dificil entender estos conceptos sin un contexto, lastimosamente hay que complementar estas clases con videos de youtube donde si explican los conceptos dando ejemplos practicos

Si no les quedo claro, aqui les dejo un video que lo explica.
Duración aproximada 1min
https://youtube.com/shorts/0BeOn_WSaN0?feature=share

Fulfilled significa ‚ÄúCumplido‚ÄĚ

si desean ver la información de una manera distinta a la del profe podemos utilizar console.table, la cual nos dará la información mas organizada, mostrándonos igual el resultado de la promesa, la razón, y el valor de las que fueron resueltas, espero les sirva, (no es mucho pero es trabajo honesto XD)

Apunte

Aunque no es tan necesario.