{"id":20538,"date":"2024-11-08T13:00:00","date_gmt":"2024-11-08T12:00:00","guid":{"rendered":"https:\/\/carontestudio.com\/blog\/?p=20538"},"modified":"2025-08-25T12:01:02","modified_gmt":"2025-08-25T10:01:02","slug":"que-es-una-promesa-en-javascript-todo-lo-que-necesitas-saber","status":"publish","type":"post","link":"https:\/\/carontestudio.com\/blog\/que-es-una-promesa-en-javascript-todo-lo-que-necesitas-saber\/","title":{"rendered":"\u00bfQu\u00e9 es una promesa en JavaScript? Todo lo que necesitas saber"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Una de las preguntas m\u00e1s comunes entre los desarrolladores web que comienzan a usar JavaScript y a consumir APIs es: \u00bfQu\u00e9 es una promesa en JavaScript? En este art\u00edculo, exploraremos en detalle las promesas, c\u00f3mo funcionan y c\u00f3mo puedes utilizarlas para manejar operaciones as\u00edncronas en tu c\u00f3digo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfQu\u00e9 es una promesa en JavaScript?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Una promesa (<code>promise<\/code>) es un objeto que representa la terminaci\u00f3n o el fracaso de una operaci\u00f3n que va a tardar un tiempo desconocido en obtener la respuesta de esa operaci\u00f3n. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una <em>promise<\/em> puede tener estos estados (<code>PromiseState<\/code>):<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><em>pending (<\/em>pendiente<em>)<\/em>: estado inicial, a\u00fan no se ha resuelto, ni tampoco ha fallado.<\/li>\n\n\n\n<li><em>fulfilled (<\/em>cumplida<em>)<\/em>: lo que significa que la operaci\u00f3n se ha resuelto con \u00e9xito.<\/li>\n\n\n\n<li><em>rejected (<\/em>rechazada<em>)<\/em>: lo que significa que la operaci\u00f3n ha fallado.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Las promesas nos ayudan a gestionar acciones as\u00edncronas como peticiones a otros sitios fuera de nuestro entorno de ejecuci\u00f3n en los cuales desconocemos el tiempo que va a tardar en ejecutarse y devolvernos esa informaci\u00f3n que hemos solicitado.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"427\" src=\"https:\/\/carontestudio.com\/blog\/wp-content\/uploads\/2024\/08\/promesa.jpg\" alt=\"\" class=\"wp-image-20634\" srcset=\"https:\/\/carontestudio.com\/blog\/wp-content\/uploads\/2024\/08\/promesa.jpg 640w, https:\/\/carontestudio.com\/blog\/wp-content\/uploads\/2024\/08\/promesa-300x200.jpg 300w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Esto las hace diferentes a las variables o a las funciones, ya que una promesa devuelve inmediatamente su respuesta, pero la devuelve como si fuera un \u201cpagar\u00e9\u201d, y de hecho te promete que te volver\u00e1 lo que le has pedido o, fallar\u00e1. De hecho, si falla, lo normal es rechazar el resultado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As\u00ed que literalmente, una \u201cpromesa\u201d nos promete que nos devolver\u00e1 los datos que hemos solicitado.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"> \u00bfPor qu\u00e9 usar promesas en JavaScript?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Cada vez que esperemos informaci\u00f3n que no est\u00e9n directamente bajo nuestro control, deber\u00edamos recibir una promesa. Las promesas van a evitar que la aplicaci\u00f3n se bloquee cada vez que tengamos que esperar un resultado que vaya a tardar un tiempo desconocido, la devoluci\u00f3n de unos datos pedidos a una API, eventos, acciones de usuario, etc.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un caso real podr\u00edas ser la petici\u00f3n de datos a una API, esta, a su vez depende de un servidor o una base datos y puede tarde un tiempo desconocido en responder, as\u00ed que sin una promesa, al ejecutarse la petici\u00f3n nuestra aplicaci\u00f3n se quedar\u00eda esperando la respuesta hasta recibirla el tiempo que fuera (en el mejor de los casos de que la recibamos y no sea esta un error.)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Otro caso podr\u00eda ser, pedir acceso al usuario desde el navegador a su micr\u00f3fono o webcam, no tenemos ni idea del tiempo que pueda tardar el usuario o si va a denegar esta petici\u00f3n, pero la p\u00e1gina o aplicaci\u00f3n debe seguir funcionando.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">C\u00f3mo obtener una promesa<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Una de las maneras m\u00e1s comunes de obtener una promesa es mediante el uso de <code>fetch()<\/code>, que se ha convertido en un est\u00e1ndar y est\u00e1 integrado dentro de <em>JavaScript<\/em>. Pero existen tambi\u00e9n la librer\u00eda de <code>axios()<\/code> cuyo funcionamiento es similar, pero necesitamos instalar el paquete.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si ejecutamos estas l\u00edneas (mejor si lo hacemos desde un archivo <em>HTML <\/em>y lo ejecutamos en el navegador):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>const apiURL = \"https:\/\/jsonplaceholder.typicode.com\/todos\/1\";\nconsole.log(fetch(apiURL));<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Obtendremos lo siguiente:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"311\" height=\"163\" src=\"https:\/\/carontestudio.com\/blog\/wp-content\/uploads\/2024\/08\/image-1.png\" alt=\"\" class=\"wp-image-20541\" style=\"width:343px;height:auto\" srcset=\"https:\/\/carontestudio.com\/blog\/wp-content\/uploads\/2024\/08\/image-1.png 311w, https:\/\/carontestudio.com\/blog\/wp-content\/uploads\/2024\/08\/image-1-300x157.png 300w\" sizes=\"auto, (max-width: 311px) 100vw, 311px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Lo que hemos hecho, ha sido pasarle el enlace de una API y hacer <code>fetch <\/code>a dicho enlace, y la respuesta ha sido la promesa.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Al hacer <code>fetch<\/code>, no sabe cu\u00e1nto tiempo le costar\u00e1, entonces con la <code>promise <\/code>te avisa y te dice algo as\u00ed como \u201cvoy a buscarlo\u201d, una vez traiga lo prometido, entonces (<code>then<\/code>) puedes coger esos datos y hacer lo que quieras con ellos.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ejemplos de Promesas en JavaScript: C\u00f3mo Crear tus propios Promise<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Para consumirlas, usaremos <code>.then<\/code>, <code>async\/await<\/code>, pero \u00bfc\u00f3mo creamos una promesa?, hay varias maneras:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">new Promise<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Crearemos una instancia del objeto <code>Promise <\/code>y le pasaremos como <em>callback<\/em> (<em>resolve<\/em>, <em>reject<\/em>) donde:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>resolve: Devuelve un nuevo objeto&nbsp;<code>Promise<\/code>&nbsp;que se resuelve con el valor dado: <code>resolve(valor)<\/code>.&nbsp;<\/li>\n\n\n\n<li>reject: Devuelve un nuevo objeto&nbsp;<code>Promise<\/code>&nbsp;que se rechaza por el motivo indicado:<code> reject(motivo)<\/code>.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>const miPromesa = new Promise((resolve, reject) =&gt; {\n          const exito = true; \n          \/\/ const existo = false;\n\n          if (exito) {\n            resolve(\"\u00a1\u00c9xito!\");\n          } else {\n            reject(\"Ups.. hubo un error.\");\n          }\n        });\n      }\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Promise.withResolvers()<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Esto devuelve la promesa, pero adem\u00e1s <em>reject <\/em>y <em>resolve <\/em>por separado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ejemplo:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"351\" height=\"115\" src=\"https:\/\/carontestudio.com\/blog\/wp-content\/uploads\/2024\/08\/image-2.png\" alt=\"\" class=\"wp-image-20546\" srcset=\"https:\/\/carontestudio.com\/blog\/wp-content\/uploads\/2024\/08\/image-2.png 351w, https:\/\/carontestudio.com\/blog\/wp-content\/uploads\/2024\/08\/image-2-300x98.png 300w\" sizes=\"auto, (max-width: 351px) 100vw, 351px\" \/><figcaption class=\"wp-element-caption\">ejemplo en la consola del navegador<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Puede ser \u00fatil si queremospasar los m\u00e9todos <code>resolve <\/code>y <code>reject <\/code>a otras partes de tu aplicaci\u00f3n en lugar de hacer el trabajo dentro de la propia promesa.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Async<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">escribendo delante de una funci\u00f3n \u201c<code>async<\/code>\u201d, esto cambiar\u00e1 la funci\u00f3n y pasar\u00e1 de devolver una funci\u00f3n convencional a devolver una promesa. Lo bueno de estas es que devolveremos un valor o una promesa, no tenemos que utilizar el m\u00e9todo <code>resolve<\/code>, simplemente \u201c<code>return<\/code>\u201d.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pruebalo en la consola:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>async function fetchData() { return \"Datos recibidos\"; }\nconsole.log(fetchData())\nconsole.log( await fetchData())\n\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfC\u00f3mo se manejan las promesas en JavaScript?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ahora que ya sabemos qu\u00e9 es una promesa y c\u00f3mo crearlas, vamos a resolverlas<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>.then, .catch, .finally<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">La funci\u00f3n que nos va a devolver una promesa la concatenamos con un <code>.then<\/code>, y a este <code>then <\/code>le pasamos como <em>callback <\/em>una funci\u00f3n que ser\u00e1 la que tenga la respuesta (t\u00edpicamente se la llama response). Partiendo de uno de los ejemplos anteriores:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>const apiURL = \"https:\/\/jsonplaceholder.typicode.com\/todos\/1\";\nconst data = fetch(apiURL).then(response =&gt; {\n\treturn response.json();\n});\n\nConsole.log(data);\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Si la respuesta es rechazada, entonces ser\u00e1 un<code> .catch<\/code> el que trate la respuesta, donde, el error estar\u00e1 disponible en la funci\u00f3n <em>callback<\/em>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>const apiURL = \"https:\/\/jsonplaceholder.typicode.com\/todos\/1\";\nconst data = fetch(apiURL).then(response =&gt; {\n\treturn response.json();\n}) .catch(error =&gt; {\n    console.error('Ha habido un error al recibir la respuesta:', error);\n  });\n\nConsole.log(data);\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Se puede a\u00f1dir un <code>.then<\/code> siempre que devuelve una promesa, de&nbsp; manera que se pueden concatenar varios y en el \u00faltimo a\u00f1adir el <code>catch()<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Existe tambi\u00e9n un tercero que no es tan usado: <code>.finally<\/code>, el cual se ejecutar\u00e1 tanto si es resuelta como si es rechazada. As\u00ed que si nos da por duplicar c\u00f3digo dentro del <code>then <\/code>y el <code>catch<\/code>, como cambiar un estado a <code>false<\/code>, o borrar un <em>flag <\/em>de <em>loading<\/em>, sin importar el resultado de la promesa, puede escribir eso dentro de <code>.finaly<\/code>. &nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>const apiURL = \"https:\/\/jsonplaceholder.typicode.com\/todos\/1\";\nfetch(apiURL)\n  .then(response =&gt; {\n    console.log(data);\n  })\n  .catch(error =&gt; {\n    console.error('Ha habido un error:', error);\n  })\n  .finally(() =&gt; {\n    console.log('Esta acci\u00f3n se ejecutara siempre');\n    \/\/ Aqu\u00ed podr\u00edas poner cualquier c\u00f3digo que necesites ejecutar independientemente de si hay error o no.\n  });\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Async \/ await para mejor legibilidad<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Cuando se marca una funci\u00f3n con <code>async<\/code>, se permite pausar la ejecuci\u00f3n de esa funci\u00f3n y continuarla una vez que la promesa se haya resuelto. Esto se hace utilizando la palabra clave <code>await<\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>const createUser = async () =&gt; {\n\treturn \u2018David\u2019;\n}\nconst user = await createUser();\nconsole.log(user)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">La funci\u00f3n marcada con <code>async <\/code>devuelve una promesa, que <code>await <\/code>resuelve.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En mi opini\u00f3n, esta es una opci\u00f3n que hace el c\u00f3digo m\u00e1s comprensible y ordenado.  Aunque a veces encadenar m\u00faltiples <code>.then()<\/code> puede resultar en un c\u00f3digo m\u00e1s conciso, la elecci\u00f3n entre <code>async\/await<\/code> y <code>.then()<\/code> realmente depende de las preferencias personales y del contexto en el que se est\u00e9 trabajando.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">.then vs async await<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Uno de los problemas de usar el m\u00e9todo <em><code>then<\/code> <\/em>es que a\u00f1aden otra capa de complejidad. Si necesitas acceder a los datos fuera de la promesa, debes crear una variable, pasarla y gestionar los valores por defecto antes y despu\u00e9s de que la promesa devuelva su resultado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>await, por<\/code> otro lado, ofrece una lectura m\u00e1s natural del c\u00f3digo, se lee de una manera m\u00e1s intuitiva. Adem\u00e1s, podemos esperar el valor, y una vez que lo tengamos, podemos hacer algo con \u00e9l inmediatamente. No necesitamos preocuparnos tanto por la estructura del c\u00f3digo como con <code>then<\/code>. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusi\u00f3n<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">En resumen, entender qu\u00e9 es una promesa en JavaScript y c\u00f3mo utilizarla es fundamental para manejar operaciones as\u00edncronas de manera efectiva. Con las promesas, puedes asegurarte de que tu c\u00f3digo sea m\u00e1s limpio y manejable.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Una de las preguntas m\u00e1s comunes entre los desarrolladores web que comienzan a usar JavaScript y a consumir APIs es: \u00bfQu\u00e9 es una promesa en JavaScript? En este art\u00edculo, exploraremos en detalle las promesas, c\u00f3mo funcionan y c\u00f3mo puedes utilizarlas para manejar operaciones as\u00edncronas en tu c\u00f3digo. \u00bfQu\u00e9 es una promesa en JavaScript? Una promesa [&hellip;]<\/p>\n","protected":false},"author":18,"featured_media":21270,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[50],"tags":[],"class_list":["post-20538","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-programacion-web"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u00bfSabes qu\u00e9 es una promesa en JavaScript? - Blog de Caronte<\/title>\n<meta name=\"description\" content=\"Descubre qu\u00e9 es una promesa en JavaScript, c\u00f3mo funciona y c\u00f3mo puedes utilizarla para manejar operaciones as\u00edncronas de manera efectiva.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/carontestudio.com\/blog\/que-es-una-promesa-en-javascript-todo-lo-que-necesitas-saber\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u00bfSabes qu\u00e9 es una promesa en JavaScript? - Blog de Caronte\" \/>\n<meta property=\"og:description\" content=\"Descubre qu\u00e9 es una promesa en JavaScript, c\u00f3mo funciona y c\u00f3mo puedes utilizarla para manejar operaciones as\u00edncronas de manera efectiva.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/carontestudio.com\/blog\/que-es-una-promesa-en-javascript-todo-lo-que-necesitas-saber\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog de maketing | Caronte\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/carontewebstudio\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-08T12:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-25T10:01:02+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/carontestudio.com\/blog\/wp-content\/uploads\/2024\/08\/que-es-una-promesa-en-javascript.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1250\" \/>\n\t<meta property=\"og:image:height\" content=\"737\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"David Boo\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"David Boo\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/que-es-una-promesa-en-javascript-todo-lo-que-necesitas-saber\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/que-es-una-promesa-en-javascript-todo-lo-que-necesitas-saber\\\/\"},\"author\":{\"name\":\"David Boo\",\"@id\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/#\\\/schema\\\/person\\\/b3de34e35d8ffffb7e620d1166ea5f52\"},\"headline\":\"\u00bfQu\u00e9 es una promesa en JavaScript? Todo lo que necesitas saber\",\"datePublished\":\"2024-11-08T12:00:00+00:00\",\"dateModified\":\"2025-08-25T10:01:02+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/que-es-una-promesa-en-javascript-todo-lo-que-necesitas-saber\\\/\"},\"wordCount\":1167,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/que-es-una-promesa-en-javascript-todo-lo-que-necesitas-saber\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/08\\\/que-es-una-promesa-en-javascript.jpg\",\"articleSection\":[\"Programaci\u00f3n\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/carontestudio.com\\\/blog\\\/que-es-una-promesa-en-javascript-todo-lo-que-necesitas-saber\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/que-es-una-promesa-en-javascript-todo-lo-que-necesitas-saber\\\/\",\"url\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/que-es-una-promesa-en-javascript-todo-lo-que-necesitas-saber\\\/\",\"name\":\"\u00bfSabes qu\u00e9 es una promesa en JavaScript? - Blog de Caronte\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/que-es-una-promesa-en-javascript-todo-lo-que-necesitas-saber\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/que-es-una-promesa-en-javascript-todo-lo-que-necesitas-saber\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/08\\\/que-es-una-promesa-en-javascript.jpg\",\"datePublished\":\"2024-11-08T12:00:00+00:00\",\"dateModified\":\"2025-08-25T10:01:02+00:00\",\"description\":\"Descubre qu\u00e9 es una promesa en JavaScript, c\u00f3mo funciona y c\u00f3mo puedes utilizarla para manejar operaciones as\u00edncronas de manera efectiva.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/que-es-una-promesa-en-javascript-todo-lo-que-necesitas-saber\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/carontestudio.com\\\/blog\\\/que-es-una-promesa-en-javascript-todo-lo-que-necesitas-saber\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/que-es-una-promesa-en-javascript-todo-lo-que-necesitas-saber\\\/#primaryimage\",\"url\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/08\\\/que-es-una-promesa-en-javascript.jpg\",\"contentUrl\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/08\\\/que-es-una-promesa-en-javascript.jpg\",\"width\":1250,\"height\":737,\"caption\":\"qu\u00e9 es una promesa en javascript\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/que-es-una-promesa-en-javascript-todo-lo-que-necesitas-saber\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u00bfQu\u00e9 es una promesa en JavaScript? Todo lo que necesitas saber\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/\",\"name\":\"Blog de marketing | Caronte\",\"description\":\"En nuestro blog encontrar\u00e1s art\u00edculos semanales sobre SEO, marketing online, programaci\u00f3n web y mucho m\u00e1s.\",\"publisher\":{\"@id\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/#organization\",\"name\":\"Caronte - Agencia de marketing\",\"url\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/caronte-agencia-de-marketing-logo.png\",\"contentUrl\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/caronte-agencia-de-marketing-logo.png\",\"width\":1090,\"height\":155,\"caption\":\"Caronte - Agencia de marketing\"},\"image\":{\"@id\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/carontewebstudio\\\/\",\"https:\\\/\\\/www.instagram.com\\\/caronte_studio\\\/\",\"https:\\\/\\\/www.tiktok.com\\\/@carontewebstudio\",\"https:\\\/\\\/www.youtube.com\\\/@carontewebstudio\",\"https:\\\/\\\/es.linkedin.com\\\/company\\\/carontewebstudio\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/#\\\/schema\\\/person\\\/b3de34e35d8ffffb7e620d1166ea5f52\",\"name\":\"David Boo\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/18a3ceeedb69fb45810646b329f07e0675f1e3b50d53fd3cb7522332f8c15ee9?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/18a3ceeedb69fb45810646b329f07e0675f1e3b50d53fd3cb7522332f8c15ee9?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/18a3ceeedb69fb45810646b329f07e0675f1e3b50d53fd3cb7522332f8c15ee9?s=96&d=mm&r=g\",\"caption\":\"David Boo\"},\"sameAs\":[\"http:\\\/\\\/carontestudio.com\"],\"url\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/author\\\/david-boo\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u00bfSabes qu\u00e9 es una promesa en JavaScript? - Blog de Caronte","description":"Descubre qu\u00e9 es una promesa en JavaScript, c\u00f3mo funciona y c\u00f3mo puedes utilizarla para manejar operaciones as\u00edncronas de manera efectiva.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/carontestudio.com\/blog\/que-es-una-promesa-en-javascript-todo-lo-que-necesitas-saber\/","og_locale":"es_ES","og_type":"article","og_title":"\u00bfSabes qu\u00e9 es una promesa en JavaScript? - Blog de Caronte","og_description":"Descubre qu\u00e9 es una promesa en JavaScript, c\u00f3mo funciona y c\u00f3mo puedes utilizarla para manejar operaciones as\u00edncronas de manera efectiva.","og_url":"https:\/\/carontestudio.com\/blog\/que-es-una-promesa-en-javascript-todo-lo-que-necesitas-saber\/","og_site_name":"Blog de maketing | Caronte","article_publisher":"https:\/\/www.facebook.com\/carontewebstudio\/","article_published_time":"2024-11-08T12:00:00+00:00","article_modified_time":"2025-08-25T10:01:02+00:00","og_image":[{"width":1250,"height":737,"url":"https:\/\/carontestudio.com\/blog\/wp-content\/uploads\/2024\/08\/que-es-una-promesa-en-javascript.jpg","type":"image\/jpeg"}],"author":"David Boo","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"David Boo","Tiempo de lectura":"6 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/carontestudio.com\/blog\/que-es-una-promesa-en-javascript-todo-lo-que-necesitas-saber\/#article","isPartOf":{"@id":"https:\/\/carontestudio.com\/blog\/que-es-una-promesa-en-javascript-todo-lo-que-necesitas-saber\/"},"author":{"name":"David Boo","@id":"https:\/\/carontestudio.com\/blog\/#\/schema\/person\/b3de34e35d8ffffb7e620d1166ea5f52"},"headline":"\u00bfQu\u00e9 es una promesa en JavaScript? Todo lo que necesitas saber","datePublished":"2024-11-08T12:00:00+00:00","dateModified":"2025-08-25T10:01:02+00:00","mainEntityOfPage":{"@id":"https:\/\/carontestudio.com\/blog\/que-es-una-promesa-en-javascript-todo-lo-que-necesitas-saber\/"},"wordCount":1167,"commentCount":0,"publisher":{"@id":"https:\/\/carontestudio.com\/blog\/#organization"},"image":{"@id":"https:\/\/carontestudio.com\/blog\/que-es-una-promesa-en-javascript-todo-lo-que-necesitas-saber\/#primaryimage"},"thumbnailUrl":"https:\/\/carontestudio.com\/blog\/wp-content\/uploads\/2024\/08\/que-es-una-promesa-en-javascript.jpg","articleSection":["Programaci\u00f3n"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/carontestudio.com\/blog\/que-es-una-promesa-en-javascript-todo-lo-que-necesitas-saber\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/carontestudio.com\/blog\/que-es-una-promesa-en-javascript-todo-lo-que-necesitas-saber\/","url":"https:\/\/carontestudio.com\/blog\/que-es-una-promesa-en-javascript-todo-lo-que-necesitas-saber\/","name":"\u00bfSabes qu\u00e9 es una promesa en JavaScript? - Blog de Caronte","isPartOf":{"@id":"https:\/\/carontestudio.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/carontestudio.com\/blog\/que-es-una-promesa-en-javascript-todo-lo-que-necesitas-saber\/#primaryimage"},"image":{"@id":"https:\/\/carontestudio.com\/blog\/que-es-una-promesa-en-javascript-todo-lo-que-necesitas-saber\/#primaryimage"},"thumbnailUrl":"https:\/\/carontestudio.com\/blog\/wp-content\/uploads\/2024\/08\/que-es-una-promesa-en-javascript.jpg","datePublished":"2024-11-08T12:00:00+00:00","dateModified":"2025-08-25T10:01:02+00:00","description":"Descubre qu\u00e9 es una promesa en JavaScript, c\u00f3mo funciona y c\u00f3mo puedes utilizarla para manejar operaciones as\u00edncronas de manera efectiva.","breadcrumb":{"@id":"https:\/\/carontestudio.com\/blog\/que-es-una-promesa-en-javascript-todo-lo-que-necesitas-saber\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/carontestudio.com\/blog\/que-es-una-promesa-en-javascript-todo-lo-que-necesitas-saber\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/carontestudio.com\/blog\/que-es-una-promesa-en-javascript-todo-lo-que-necesitas-saber\/#primaryimage","url":"https:\/\/carontestudio.com\/blog\/wp-content\/uploads\/2024\/08\/que-es-una-promesa-en-javascript.jpg","contentUrl":"https:\/\/carontestudio.com\/blog\/wp-content\/uploads\/2024\/08\/que-es-una-promesa-en-javascript.jpg","width":1250,"height":737,"caption":"qu\u00e9 es una promesa en javascript"},{"@type":"BreadcrumbList","@id":"https:\/\/carontestudio.com\/blog\/que-es-una-promesa-en-javascript-todo-lo-que-necesitas-saber\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/carontestudio.com\/blog\/"},{"@type":"ListItem","position":2,"name":"\u00bfQu\u00e9 es una promesa en JavaScript? Todo lo que necesitas saber"}]},{"@type":"WebSite","@id":"https:\/\/carontestudio.com\/blog\/#website","url":"https:\/\/carontestudio.com\/blog\/","name":"Blog de marketing | Caronte","description":"En nuestro blog encontrar\u00e1s art\u00edculos semanales sobre SEO, marketing online, programaci\u00f3n web y mucho m\u00e1s.","publisher":{"@id":"https:\/\/carontestudio.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/carontestudio.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/carontestudio.com\/blog\/#organization","name":"Caronte - Agencia de marketing","url":"https:\/\/carontestudio.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/carontestudio.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/carontestudio.com\/blog\/wp-content\/uploads\/2025\/06\/caronte-agencia-de-marketing-logo.png","contentUrl":"https:\/\/carontestudio.com\/blog\/wp-content\/uploads\/2025\/06\/caronte-agencia-de-marketing-logo.png","width":1090,"height":155,"caption":"Caronte - Agencia de marketing"},"image":{"@id":"https:\/\/carontestudio.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/carontewebstudio\/","https:\/\/www.instagram.com\/caronte_studio\/","https:\/\/www.tiktok.com\/@carontewebstudio","https:\/\/www.youtube.com\/@carontewebstudio","https:\/\/es.linkedin.com\/company\/carontewebstudio"]},{"@type":"Person","@id":"https:\/\/carontestudio.com\/blog\/#\/schema\/person\/b3de34e35d8ffffb7e620d1166ea5f52","name":"David Boo","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/18a3ceeedb69fb45810646b329f07e0675f1e3b50d53fd3cb7522332f8c15ee9?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/18a3ceeedb69fb45810646b329f07e0675f1e3b50d53fd3cb7522332f8c15ee9?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/18a3ceeedb69fb45810646b329f07e0675f1e3b50d53fd3cb7522332f8c15ee9?s=96&d=mm&r=g","caption":"David Boo"},"sameAs":["http:\/\/carontestudio.com"],"url":"https:\/\/carontestudio.com\/blog\/author\/david-boo\/"}]}},"_links":{"self":[{"href":"https:\/\/carontestudio.com\/blog\/wp-json\/wp\/v2\/posts\/20538","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/carontestudio.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/carontestudio.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/carontestudio.com\/blog\/wp-json\/wp\/v2\/users\/18"}],"replies":[{"embeddable":true,"href":"https:\/\/carontestudio.com\/blog\/wp-json\/wp\/v2\/comments?post=20538"}],"version-history":[{"count":6,"href":"https:\/\/carontestudio.com\/blog\/wp-json\/wp\/v2\/posts\/20538\/revisions"}],"predecessor-version":[{"id":21271,"href":"https:\/\/carontestudio.com\/blog\/wp-json\/wp\/v2\/posts\/20538\/revisions\/21271"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/carontestudio.com\/blog\/wp-json\/wp\/v2\/media\/21270"}],"wp:attachment":[{"href":"https:\/\/carontestudio.com\/blog\/wp-json\/wp\/v2\/media?parent=20538"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/carontestudio.com\/blog\/wp-json\/wp\/v2\/categories?post=20538"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/carontestudio.com\/blog\/wp-json\/wp\/v2\/tags?post=20538"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}