La Promesa es un objeto que representa la finalización o el fracaso de una tarea de usuario. Una promesa en JavaScript puede estar en tres estados pendiente, cumplida o rechazada.
La principal ventaja de usar una Promesa en JavaScript es que un usuario puede asignar funciones de devolución de llamada a las promesas en caso de un rechazo o cumplimiento de la Promesa, también mediante el uso de promesas se puede manejar fácilmente el flujo de control de todos los eventos asincrónicos o datos próximos. Como su nombre indica, una promesa se cumple o se rompe. Por lo tanto, una promesa se completa (mantiene) o se rechaza (se rompe).
Método Promise resolve(): El método
Promise.resolve() en JS devuelve un objeto Promise que se resuelve con un valor dado. Puede pasar cualquiera de las tres cosas:
- Si el valor es una promesa, se devuelve la promesa.
- Si el valor tiene un «entonces» adjunto a la promesa, la promesa devuelta seguirá ese «entonces» hasta el estado final.
- Se devolverá la promesa cumplida con su valor.
Sintaxis:
Promise.resolve(value);
Parámetros:
Valor(es) a resolver por esta Promesa.
Valor devuelto:
O bien se devuelve la promesa de la promesa cumplida con su valor.
Ejemplos:
javascript
<script> var promise = Promise.resolve(17468); promise.then(function(val) { console.log(val); }); //Output: 17468 </script>
Producción:
17468
El ejemplo anterior se hizo utilizando el enfoque de la versión anterior. También podemos usar el enfoque basado en la función de flecha más reciente y también tratar de evitar escribir el tipo de datos var, ya que puede mezclar varias otras variables y producir un resultado incorrecto. A continuación se muestra el enfoque más corto para el enfoque mencionado anteriormente.
A continuación se muestra el fragmento de código que muestra la otra versión del enfoque ilustrado anteriormente:
Javascript
Promise.resolve(17468).then((value) => console.log(value)); // This code is contributed by Aman Singla....
Producción:
17468
Resolución de una array: aquí, en el siguiente ejemplo, usaremos una función de temporizador llamada setTimeout() que será responsable de la ejecución de los valores que se pasan dentro de resolve() que se pasa dentro de esa función de temporizador.
javascript
<script> const promise = new Promise((resolve, reject) => { setTimeout(() => { resolve([89, 45, 323]); }, 5000); }); promise.then(values => { console.log(values[1]); }); </script>
Producción:
45
Resolver otra promesa: en el siguiente ejemplo, resolveremos la primera promesa dentro de otra promesa recién creada en la que hemos definido una función de temporizador (setTimeout).
javascript
<script> const promise = Promise.resolve(3126); const promise1 = new Promise((resolve, reject) => { setTimeout(() => { promise.then(val => console.log(val)); }, 5000); }); promise1.then(vals => { console.log(vals); }); </script>
Producción:
3126
Navegadores compatibles:
- Google Chrome 32 y superior
- Mozilla Firefox 29 y superior
- Ópera 19 y superior
- Safari 8 y superior
- Borde 12 y superior
- Internet Explorer no es compatible
JavaScript es mejor conocido por el desarrollo de páginas web, pero también se usa en una variedad de entornos que no son de navegador. Puede aprender JavaScript desde cero siguiendo este tutorial de JavaScript y ejemplos de JavaScript .