⊗jsSpPrmEx 163 of 294 menu

Situaciones excepcionales en promesas en JavaScript

Ahora aprendamos a manejar situaciones excepcionales que ocurren dentro de una promesa. En caso de que surja tal situación, debemos rechazar la promesa usando una función especial de rechazo, que automáticamente se incluye en el segundo parámetro de la función de la promesa:

let promise = new Promise(function(resolve, reject) { setTimeout(function() { ... }, 3000); });

Dentro de la función de la promesa debemos llamar a resolve si todo salió normalmente, o a reject si surgió una situación excepcional:

let promise = new Promise(function(resolve, reject) { setTimeout(function() { let isError = false; if (!isError) { resolve([1, 2, 3, 4, 5]); // datos de la promesa } else { reject('error in promise'); // tu texto de error } }, 3000); });

Luego, en el método then debes pasar no una, sino dos funciones como parámetros: la primera funcionará si la promesa se ejecutó normalmente (se resolvió), y la segunda, si se ejecutó con error (se rechazó):

promise.then( function(result) { console.log(result); // mostrará el resultado de la promesa }, function(error) { console.log(error); // mostrará el texto del error } );

Por lo general, el código anterior se escribe de forma más compacta, así:

promise.then(function(result) { console.log(result); // mostrará el resultado de la promesa }, function(error) { console.log(error); // mostrará el texto del error });

Crea un código asíncrono que genere números aleatorios del 0 al 5. Envuelve todo esto en una promesa. Que la promesa como resultado devuelva el resultado de dividir uno entre el número generado. Que la promesa se ejecute con error si ocurrió una división entre cero, y con éxito en todos los demás casos.

Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar