La Promesa es un objeto de JavaScript que puede estar en tres estados pendiente, cumplido o rechazado. El método Promise.allSettled() en JavaScript se usa para obtener una promesa cuando se liquidan todas las entradas que se cumplen o se rechazan.
Básicamente, devuelve una promesa que se resuelve cuando todas las demás promesas que se pasan se cumplen o se rechazan y, en la salida, muestra la array de objetos que, en particular, muestra el estado y el valor de cada promesa individualmente.
Sintaxis:
Promise.allSettled(iterable);
Parámetros: este método acepta un solo parámetro iterable que toma una array de promesas o una array normal que contiene algunos objetos.
Valor devuelto: este método devuelve los siguientes valores:
- Si el argumento pasado está vacío, devuelve una Promesa que ya se resolvió .
- Para todos los demás casos, devuelve una Promesa pendiente , junto con el estado y los valores de todas las promesas que se pasan dentro de ella individualmente.
Ejemplo 1:
Javascript
<script> // Illustration of Promise.allSettled() // Method in Javascript with Example const p1 = Promise.resolve(50); const p2 = new Promise((resolve, reject) => setTimeout(reject, 100, 'geek')); const prm = [p1, p2]; Promise.allSettled(prm). then((results) => results.forEach((result) => console.log(result.status,result.value))); </script>
Producción:
"fulfilled" 50 "rejected" undefined
Ejemplo 2:
Javascript
<script> // Simple promise that resolves // After a given time const tOut = (t) => { return new Promise((resolve, reject) => { setTimeout(() => { resolve(`Completed in ${t}`) }, t) }) } // Resolving a normal promise tOut(1000).then(result => console.log(result)) // Completed in 1000 // Promise.allSettled Promise.allSettled([tOut(1000), tOut(2000)]).then(result => console.log(result)) </script>
Producción:
"Completed in 1000" Array [Object { status: "fulfilled", value: "Completed in 1000" }, Object { status: "fulfilled", value: "Completed in 2000" }]
Ejemplo-3: En este ejemplo, hemos mostrado el resultado exacto que se recibe cada vez que ejecutamos varias promesas y las pasamos dentro del método Promise.allSettled().
Javascript
let first_promise = Promise.resolve(200); let second_promise = Promise.reject("Rejected Promise"); let third_promise = new Promise((resolve, reject) =>{ setTimeout(() => resolve(500), 100) }); let result = Promise.allSettled([first_promise, second_promise, third_promise]); result.then((value) => console.log(value)); // This code is contributed by Aman Singla....
Producción:
[ { status: 'fulfilled', value: 200 }, { status: 'rejected', reason: 'Rejected Promise' }, { status: 'fulfilled', value: 500 } ]
Navegadores compatibles:
- Google Chrome 76 y superior
- Edge 79 y superior
- Mozilla Firefox 71 y superior
- Ópera 63 y superior
- Safari 13 y superior
- Internet Explorer no es compatible
Publicación traducida automáticamente
Artículo escrito por shivanisinghss2110 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA