{"id":18007,"date":"2024-03-15T16:06:15","date_gmt":"2024-03-15T16:06:15","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-is-the-new-promise-used-in-es6\/"},"modified":"2024-03-21T12:16:34","modified_gmt":"2024-03-21T12:16:34","slug":"how-is-the-new-promise-used-in-es6","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-is-the-new-promise-used-in-es6\/","title":{"rendered":"How is the &#8220;new promise&#8221; used in ES6?"},"content":{"rendered":"<p>In ES6, you can create a Promise object using new Promise(). Promises are a way of handling asynchronous operations, making the results of asynchronous code more controllable and predictable.<\/p>\n<p>The new Promise() function takes a function as an argument, which contains two parameters: resolve and reject. The resolve function is used to mark the Promise as successfully completed and return the result, while the reject function is used to mark the Promise as failed and return an error message.<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">const<\/span> promise = <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">Promise<\/span>(<span class=\"hljs-function\">(<span class=\"hljs-params\">resolve, reject<\/span>) =&gt;<\/span> {\r\n  <span class=\"hljs-comment\">\/\/ \u5f02\u6b65\u64cd\u4f5c<\/span>\r\n  <span class=\"hljs-comment\">\/\/ \u5982\u679c\u64cd\u4f5c\u6210\u529f\uff0c\u8c03\u7528resolve\u5e76\u4f20\u9012\u7ed3\u679c<\/span>\r\n  <span class=\"hljs-comment\">\/\/ \u5982\u679c\u64cd\u4f5c\u5931\u8d25\uff0c\u8c03\u7528reject\u5e76\u4f20\u9012\u9519\u8bef\u4fe1\u606f<\/span>\r\n});\r\n<\/code><\/pre>\n<p>A Promise object has three states: pending (in progress), fulfilled (successful), and rejected (failed). Once the Promise&#8217;s state changes to fulfilled or rejected, it is considered resolved.<\/p>\n<p>You can use the .then() method to access the result of a Promise, and it takes one or two callback functions as parameters. The first callback function is used to handle successful cases, and the second callback function (optional) is used to handle failures.<\/p>\n<pre class=\"post-pre\"><code>promise.<span class=\"hljs-title function_\">then<\/span>(\r\n  <span class=\"hljs-function\"><span class=\"hljs-params\">result<\/span> =&gt;<\/span> {\r\n    <span class=\"hljs-comment\">\/\/ \u5904\u7406\u6210\u529f\u7684\u60c5\u51b5<\/span>\r\n  },\r\n  <span class=\"hljs-function\"><span class=\"hljs-params\">error<\/span> =&gt;<\/span> {\r\n    <span class=\"hljs-comment\">\/\/ \u5904\u7406\u5931\u8d25\u7684\u60c5\u51b5<\/span>\r\n  }\r\n);\r\n<\/code><\/pre>\n<p>Furthermore, Promise also offers some static methods such as Promise.all() and Promise.race() to handle situations involving multiple Promise objects.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In ES6, you can create a Promise object using new Promise(). Promises are a way of handling asynchronous operations, making the results of asynchronous code more controllable and predictable. The new Promise() function takes a function as an argument, which contains two parameters: resolve and reject. The resolve function is used to mark the Promise [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-18007","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How is the &quot;new promise&quot; used in ES6? - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-is-the-new-promise-used-in-es6\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How is the &quot;new promise&quot; used in ES6?\" \/>\n<meta property=\"og:description\" content=\"In ES6, you can create a Promise object using new Promise(). Promises are a way of handling asynchronous operations, making the results of asynchronous code more controllable and predictable. The new Promise() function takes a function as an argument, which contains two parameters: resolve and reject. The resolve function is used to mark the Promise [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-is-the-new-promise-used-in-es6\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-15T16:06:15+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-21T12:16:34+00:00\" \/>\n<meta name=\"author\" content=\"Emily Johnson\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Emily Johnson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-is-the-new-promise-used-in-es6\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-is-the-new-promise-used-in-es6\/\"},\"author\":{\"name\":\"Emily Johnson\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3b041b19cffc258705478ecfab895378\"},\"headline\":\"How is the &#8220;new promise&#8221; used in ES6?\",\"datePublished\":\"2024-03-15T16:06:15+00:00\",\"dateModified\":\"2024-03-21T12:16:34+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-is-the-new-promise-used-in-es6\/\"},\"wordCount\":180,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-is-the-new-promise-used-in-es6\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-is-the-new-promise-used-in-es6\/\",\"name\":\"How is the \\\"new promise\\\" used in ES6? - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-15T16:06:15+00:00\",\"dateModified\":\"2024-03-21T12:16:34+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-is-the-new-promise-used-in-es6\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-is-the-new-promise-used-in-es6\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-is-the-new-promise-used-in-es6\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How is the &#8220;new promise&#8221; used in ES6?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3b041b19cffc258705478ecfab895378\",\"name\":\"Emily Johnson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a5cb4e73d02ab1d79f2dfe919389ff7c1de072baa97686392031c03d858cc358?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a5cb4e73d02ab1d79f2dfe919389ff7c1de072baa97686392031c03d858cc358?s=96&d=mm&r=g\",\"caption\":\"Emily Johnson\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/emilyjohnson\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How is the \"new promise\" used in ES6? - Blog - Silicon Cloud","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:\/\/www.silicloud.com\/blog\/how-is-the-new-promise-used-in-es6\/","og_locale":"en_US","og_type":"article","og_title":"How is the \"new promise\" used in ES6?","og_description":"In ES6, you can create a Promise object using new Promise(). Promises are a way of handling asynchronous operations, making the results of asynchronous code more controllable and predictable. The new Promise() function takes a function as an argument, which contains two parameters: resolve and reject. The resolve function is used to mark the Promise [&hellip;]","og_url":"https:\/\/www.silicloud.com\/blog\/how-is-the-new-promise-used-in-es6\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-15T16:06:15+00:00","article_modified_time":"2024-03-21T12:16:34+00:00","author":"Emily Johnson","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Emily Johnson","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-is-the-new-promise-used-in-es6\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-is-the-new-promise-used-in-es6\/"},"author":{"name":"Emily Johnson","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3b041b19cffc258705478ecfab895378"},"headline":"How is the &#8220;new promise&#8221; used in ES6?","datePublished":"2024-03-15T16:06:15+00:00","dateModified":"2024-03-21T12:16:34+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-is-the-new-promise-used-in-es6\/"},"wordCount":180,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-is-the-new-promise-used-in-es6\/","url":"https:\/\/www.silicloud.com\/blog\/how-is-the-new-promise-used-in-es6\/","name":"How is the \"new promise\" used in ES6? - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-15T16:06:15+00:00","dateModified":"2024-03-21T12:16:34+00:00","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-is-the-new-promise-used-in-es6\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-is-the-new-promise-used-in-es6\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-is-the-new-promise-used-in-es6\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How is the &#8220;new promise&#8221; used in ES6?"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3b041b19cffc258705478ecfab895378","name":"Emily Johnson","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/a5cb4e73d02ab1d79f2dfe919389ff7c1de072baa97686392031c03d858cc358?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a5cb4e73d02ab1d79f2dfe919389ff7c1de072baa97686392031c03d858cc358?s=96&d=mm&r=g","caption":"Emily Johnson"},"url":"https:\/\/www.silicloud.com\/blog\/author\/emilyjohnson\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/18007","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=18007"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/18007\/revisions"}],"predecessor-version":[{"id":51657,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/18007\/revisions\/51657"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=18007"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=18007"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=18007"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}