Una promesa en JavaScript es un objeto general que nos permite crear eventos asincrónicos. Es decir, nos permite definir acciones que estarán preparadas para ser ejecutadas en caso de que algo suceda. Sin embargo, puede que no sean ejecutadas de manera inmediata e, incluso, que nunca se ejecuten.
Por ello, nos permiten crear asincronía. En este post, te enseñaremos cómo crear una promesa en JavaScript con math.random para jugar con las probabilidades de que una acción sea ejecutada o rechazada.
Antes de empezar a crear una promesa en JavaScript
Antes de explicarte cómo crear una promesa en JavaScript con Math.random, te aconsejamos leer nuestro post sobre las promesas en JavaScript. Esto te ayudará a entender los elementos básicos de una promesa y su funcionamiento general.
En términos básicos, una promesa es un objeto general que nos permite crear escenarios según los que se ejecutará una u otra acción. Para crear estos escenarios, usamos los parámetros resolve y reject, que a su vez son funciones que definen un comportamiento.
Si no utilizamos los parámetros resolve y reject para definir el resultado de una promesa una vez sea completada, la promesa quedará en un estado pending o pendiente. Esto quiere decir que estará esperando para ser completada. Para conocer más sobre este tema, te invitamos a leer nuestro post sobre los estados de promesas en JavaScript.
Además, puedes leer nuestro post sobre el objeto math en JavaScript para entender qué hace exactamente el método Math.random.
¿Cómo crear una promesa en JavaScript con math.random?
Para crear una promesa en JavaScript con math.random, debemos pensar primero en las acciones que queremos ejecutar con dicha promesa.
Supongamos que queremos crear una promesa en la que, según el número aleatorio que nos devuelva el método math.random, obtengamos uno u otro string. Teniendo en cuenta que este método nos devuelve un número entre 0 y 0.9, podemos definir que:
- Si el número es mayor a 0.5, obtendremos el string mayor que 0.5.
- Si el número aleatorio no cumple con esta condición, queremos obtener el string menor que 0.5.
Crear una promesa en JavaScript con math.random hace que la condición que la promesa está esperando para ser completada es un valor aleatorio proveniente de este método. Entonces, podemos usar el condicional if junto a operaciones aritméticas para crear las condiciones que deben suceder para que la promesa sea resuelta (resolve). Si estas condiciones no se cumplen, la promesa será rechazada (reject).
Ten presente que, cuando utilizamos la palabra clave reject y definimos una condición con la que la promesa será rechazada, realmente estamos creando un error. Es decir, cuando estas condiciones se cumplan, veremos un error en la terminal interna de nuestro software de programación.
A continuación, puedes encontrar las líneas de código que necesitaríamos escribir para crear esta promesa:
let promise = new Promise ((resolve, reject) => {
if (Math.random () > 0.5) {
resolve ('mayor que 0.5')
} else {
reject ('menor de 0.5')
})
Ahora, ya que hemos guardado la promesa en nuestra variable promise, podemos llamar a esta variable para pintar en pantalla la promesa. Para ello, usamos el comando console.log, como puedes ver a continuación:
console.log (promise)
Entonces, al crear una promesa en JavaScript con math.random hemos definido que esta promesa en ocasiones funcione y en ocasiones falle, según el valor aleatorio que nos devuelva el método.
Lo interesante de esto es que podemos jugar con la probabilidad de obtener uno u otro valor para hacer que la promesa funcione o falle más. Con las siguientes líneas de código, haríamos que la promesa funcione muchas más veces de las que falla. Esto sucede porque, en una escala entre 0.0 y 0.9, hay mayor probabilidad de que obtengamos un número mayor que 0.1 que uno menor.
let promise = new Promise ((resolve, reject) => {
if (Math.random () > 0.1) {
resolve ('mayor que 0.1')
} else {
reject ('menor de 0.1')
})
Crear una promesa en JavaScript con math.random nos permite simular escenarios de ejecución vs fallo. Por ejemplo, la promesa anterior nos permite simular las llamadas a los servidores. Cuando nosotros hacemos una llamada a un servidor, hay un alto porcentaje de que funcione. Sin embargo, existe la posibilidad de que no lo haga. Para estos momentos, utilizamos el control de flujo try catch en JavaScript, que nos permitirá definir qué hacer cuando sucede un error.
Después de leer este post, sabes cómo crear una promesa en JavaScript con Math.random, pero ¡todavía queda muchísimo por aprender! Por ello, te invitamos a seguir formándote acerca de este y muchos otros lenguajes de programación en nuestro Bootcamp Full Stack, donde te convertirás en un experto del desarrollo web en pocos meses. ¡No te pierdas esta oportunidad e inscríbete ya!