En JavaScript, las promesas son objetos que vinculan el código de producción y el de consumo. Mientras que en términos simples, una Promesa en JavaScript significa lo mismo que una promesa en la vida real. Cada vez que se crea una Promesa hay 3 condiciones o más bien diría resultados que podemos esperar:
- resolver
- rechazar
- pendiente
Como sugieren los nombres anteriores, cada vez que se crea una Promesa, la cumplimos, es decir, la Promesa se resuelve , o si no obtenemos el resultado esperado, es decir, la Promesa no se cumple, se rechaza . Y se llama pendiente el estado en que la promesa no se resuelve ni se rechaza .
Sintaxis:
var promise = new Promise(function(resolve, reject) { (the producing code) });
En este artículo, vamos a identificar si un objeto JavaScript es una Promesa o no. Ahora bien, existen muchas formas por las cuales podemos identificar las mismas, veamos cuáles son y cómo podemos identificar fácilmente una Promesa.
Acercarse:
- Tome un conjunto de variables y objetos.
- Pase esos valores a una función isPromise() que en realidad verifica diferentes condiciones e identifica una Promesa.
Método 1: mediante el uso del operador typeof :
Javascript
<script> //Checking for a promise var prom = new Promise(function(resolve, reject) { resolve(); }); var num = 10; var name = "geeksforgeeks"; var object = { site: "geeksforgeeks" }; console.log(isPromise(prom)); console.log(isPromise(num)); console.log(isPromise(name)); console.log(isPromise(object)); function isPromise(p) { return Boolean(p && typeof p.then === "function"); } </script>
Producción:
true false false false
Método 2: comprobando si el valor pasado p es un objeto y comprobando si p.then es una función.
Javascript
<script> // Checking for a promise var prom = new Promise(function(resolve, reject) { resolve(); }); var num = 10; var name = "geeksforgeeks"; var object = { site: "geeksforgeeks" }; console.log(isPromise(prom)); console.log(isPromise(num)); console.log(isPromise(name)); console.log(isPromise(object)); function isPromise(p) { return !!p && (typeof p === 'object' || typeof p === 'function') && typeof p.then === 'function'; } </script>
Producción:
true false false false
Método 3: comprobando si Promise.resolve(p) == p:
Javascript
<script> // Checking for a promise var prom = new Promise(function(resolve, reject) { resolve(); }); var num = 10; var name = "geeksforgeeks"; var object = { site: "geeksforgeeks" }; console.log(isPromise(prom)); console.log(isPromise(num)); console.log(isPromise(name)); console.log(isPromise(object)); function isPromise(p) { if (Promise && Promise.resolve) { return Promise.resolve(p) == p; } } </script>
Producción:
true false false false
Publicación traducida automáticamente
Artículo escrito por debjani1413 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA