{"id":65842,"date":"2024-06-09T12:01:12","date_gmt":"2024-06-09T08:31:12","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/%d9%88%d8%b9%d8%af%d9%87-%d9%86%d8%ad%d9%88%d9%87-%d8%a7%d8%b3%d8%aa%d9%81%d8%a7%d8%af%d9%87-%d9%88-%da%86%d9%86%d8%af-%d9%86%da%a9%d8%aa%d9%87\/"},"modified":"2024-06-09T12:01:12","modified_gmt":"2024-06-09T08:31:12","slug":"%d9%88%d8%b9%d8%af%d9%87-%d9%86%d8%ad%d9%88%d9%87-%d8%a7%d8%b3%d8%aa%d9%81%d8%a7%d8%af%d9%87-%d9%88-%da%86%d9%86%d8%af-%d9%86%da%a9%d8%aa%d9%87","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/%d9%88%d8%b9%d8%af%d9%87-%d9%86%d8%ad%d9%88%d9%87-%d8%a7%d8%b3%d8%aa%d9%81%d8%a7%d8%af%d9%87-%d9%88-%da%86%d9%86%d8%af-%d9%86%da%a9%d8%aa%d9%87\/","title":{"rendered":"\u0648\u0639\u062f\u0647: \u0646\u062d\u0648\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0648 \u0686\u0646\u062f \u0646\u06a9\u062a\u0647!"},"content":{"rendered":"<p><\/p>\n<div data-article-id=\"1881876\" id=\"article-body\">\n<p>\u0635\u062d\u0628\u062a \u0646\u06a9\u0631\u062f\u0646 \u062f\u0631 \u0645\u0648\u0631\u062f Promise \u062f\u0631 \u062c\u0627\u0648\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u06cc\u06a9 \u062d\u0630\u0641 \u0622\u0634\u06a9\u0627\u0631 \u0627\u0633\u062a.  \u062f\u0631 \u0648\u0627\u0642\u0639\u060c \u0645\u0642\u0627\u0644\u0627\u062a \u0632\u06cc\u0627\u062f\u06cc \u062f\u0631 \u0645\u0648\u0631\u062f Promise \u0646\u0648\u0634\u062a\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a \u06a9\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0622\u0646\u0647\u0627 \u0631\u0627 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u06af\u0648\u06af\u0644 \u067e\u06cc\u062f\u0627 \u06a9\u0646\u06cc\u062f \u06cc\u0627 \u06af\u0647\u06af\u0627\u0647 \u062f\u0631 \u0627\u0646\u062c\u0645\u0646 \u0647\u0627\u06cc \u0645\u0631\u062a\u0628\u0637 \u0628\u0627 \u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633\u06cc \u0628\u0627 \u0622\u0646\u0647\u0627 \u0628\u0631\u062e\u0648\u0631\u062f \u06a9\u0646\u06cc\u062f.  \u0627\u0645\u0627 \u0627\u0632 \u0622\u0646\u062c\u0627\u06cc\u06cc \u06a9\u0647 Promise \u06cc\u06a9 \u0645\u0641\u0647\u0648\u0645 \u0645\u0647\u0645 \u0627\u0633\u062a \u0648 \u0647\u0631 \u06a9\u0633\u06cc \u0631\u0648\u0634 \u0645\u062a\u0641\u0627\u0648\u062a\u06cc \u0628\u0631\u0627\u06cc \u062a\u0648\u0636\u06cc\u062d \u0622\u0646 \u062f\u0627\u0631\u062f\u060c \u0645\u0646 \u0647\u0645\u0686\u0646\u0627\u0646 \u062a\u0635\u0645\u06cc\u0645 \u06af\u0631\u0641\u062a\u0645 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u0631\u0627 \u0628\u0646\u0648\u06cc\u0633\u0645.  <\/p>\n<p>\u0648\u0642\u062a\u06cc \u0628\u0631\u0627\u06cc \u0627\u0648\u0644\u06cc\u0646 \u0628\u0627\u0631 \u062c\u0627\u0648\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0631\u0627 \u06cc\u0627\u062f \u06af\u0631\u0641\u062a\u0645\u060c Promise \u06af\u06cc\u062c \u06a9\u0646\u0646\u062f\u0647 \u062a\u0631\u06cc\u0646 \u0686\u06cc\u0632 \u0628\u0648\u062f.  \u0641\u06a9\u0631 \u0645\u06cc\u200c\u06a9\u0631\u062f\u0645 \u0622\u0646 \u0631\u0627 \u0645\u06cc\u200c\u0641\u0647\u0645\u0645 \u0648 \u0645\u06cc\u200c\u062f\u0627\u0646\u0645 \u0686\u06af\u0648\u0646\u0647 \u0627\u0632 \u0622\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u0645\u060c \u0627\u0645\u0627 \u062f\u0631 \u0648\u0627\u0642\u0639\u06cc\u062a\u060c \u0647\u0646\u0648\u0632 \u0628\u0633\u06cc\u0627\u0631\u06cc \u0627\u0632 \u062f\u0633\u062a \u0648 \u067e\u0627 \u0632\u062f\u0646\u200c\u0647\u0627\u06cc \u0637\u0648\u0644\u0627\u0646\u06cc \u0648 \u062f\u0631\u062f\u0646\u0627\u06a9 \u0648\u062c\u0648\u062f \u062f\u0627\u0634\u062a \u06a9\u0647 \u062f\u0631\u0633\u200c\u0647\u0627\u06cc \u0627\u0631\u0632\u0634\u0645\u0646\u062f\u06cc \u0628\u0647 \u0645\u0646 \u0622\u0645\u0648\u062e\u062a.  \u0645\u0646 \u0645\u0642\u0627\u0644\u0627\u062a \u0632\u06cc\u0627\u062f\u06cc \u062f\u0631 \u0645\u0648\u0631\u062f Promise \u0628\u0647 \u062f\u0648 \u0632\u0628\u0627\u0646 \u0627\u0646\u06af\u0644\u06cc\u0633\u06cc \u0648 \u0648\u06cc\u062a\u0646\u0627\u0645\u06cc \u062e\u0648\u0627\u0646\u062f\u0645 \u0648 \u0628\u0647 \u062a\u062f\u0631\u06cc\u062c \u0647\u0645\u0647 \u0686\u06cc\u0632 \u0645\u0639\u0646\u06cc \u067e\u06cc\u062f\u0627 \u06a9\u0631\u062f \u0648 \u0628\u0647 \u0645\u0646 \u06a9\u0645\u06a9 \u06a9\u0631\u062f \u062a\u0627 \u0622\u0646 \u0631\u0627 \u0628\u0647 \u062f\u0631\u0633\u062a\u06cc \u062f\u0631\u06a9 \u06a9\u0646\u0645 \u0648 \u0627\u0632 \u0622\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u0645.  <\/p>\n<p>\u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u0628\u0647 \u0645\u0641\u0627\u0647\u06cc\u0645 Promise \u0646\u0645\u06cc \u067e\u0631\u062f\u0627\u0632\u062f\u060c \u0628\u0644\u06a9\u0647 \u0628\u0647 \u0628\u0631\u062e\u06cc \u0646\u06a9\u0627\u062a \u0648 \u0633\u0648\u0621 \u062a\u0641\u0627\u0647\u0645\u0627\u062a \u0627\u062d\u062a\u0645\u0627\u0644\u06cc \u0645\u06cc \u067e\u0631\u062f\u0627\u0632\u062f.  \u0647\u062f\u0641 \u0622\u0646 \u0627\u0631\u0627\u0626\u0647 \u06cc\u06a9 \u062f\u0631\u06a9 \u06a9\u0644\u06cc \u0628\u0647 \u062e\u0648\u0627\u0646\u0646\u062f\u06af\u0627\u0646 \u0648 \u06a9\u0645\u06a9 \u0628\u0647 \u0622\u0646\u0647\u0627 \u0628\u0631\u0627\u06cc \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u0627\u0632 \u0628\u0631\u062e\u06cc \u0627\u0634\u062a\u0628\u0627\u0647\u0627\u062a \u0647\u0646\u06af\u0627\u0645 \u0646\u0648\u0634\u062a\u0646 \u06a9\u062f \u0627\u0633\u062a.  <\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_84 counter-hierarchy ez-toc-counter-rtl ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/nabfollower.com\/blog\/%d9%88%d8%b9%d8%af%d9%87-%d9%86%d8%ad%d9%88%d9%87-%d8%a7%d8%b3%d8%aa%d9%81%d8%a7%d8%af%d9%87-%d9%88-%da%86%d9%86%d8%af-%d9%86%da%a9%d8%aa%d9%87\/#%D9%88%D8%B9%D8%AF%D9%87_%DA%86%DB%8C%D8%B3%D8%AA%D8%9F\" >\u0648\u0639\u062f\u0647 \u0686\u06cc\u0633\u062a\u061f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/nabfollower.com\/blog\/%d9%88%d8%b9%d8%af%d9%87-%d9%86%d8%ad%d9%88%d9%87-%d8%a7%d8%b3%d8%aa%d9%81%d8%a7%d8%af%d9%87-%d9%88-%da%86%d9%86%d8%af-%d9%86%da%a9%d8%aa%d9%87\/#Promise_%D8%AC%D8%A7%DB%8C%DA%AF%D8%B2%DB%8C%D9%86_%E2%80%9CCallback_Hell%E2%80%9D_%D9%85%DB%8C_%D8%B4%D9%88%D8%AF\" >Promise \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 &#8220;Callback Hell&#8221; \u0645\u06cc \u0634\u0648\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/nabfollower.com\/blog\/%d9%88%d8%b9%d8%af%d9%87-%d9%86%d8%ad%d9%88%d9%87-%d8%a7%d8%b3%d8%aa%d9%81%d8%a7%d8%af%d9%87-%d9%88-%da%86%d9%86%d8%af-%d9%86%da%a9%d8%aa%d9%87\/#Promise_in_Loops\" >Promise in Loops<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/nabfollower.com\/blog\/%d9%88%d8%b9%d8%af%d9%87-%d9%86%d8%ad%d9%88%d9%87-%d8%a7%d8%b3%d8%aa%d9%81%d8%a7%d8%af%d9%87-%d9%88-%da%86%d9%86%d8%af-%d9%86%da%a9%d8%aa%d9%87\/#AsyncAwait_%E2%80%93_The_Missing_Piece_of_Promise%D8%9F\" >Async\/Await &#8211; The Missing Piece of Promise\u061f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/nabfollower.com\/blog\/%d9%88%d8%b9%d8%af%d9%87-%d9%86%d8%ad%d9%88%d9%87-%d8%a7%d8%b3%d8%aa%d9%81%d8%a7%d8%af%d9%87-%d9%88-%da%86%d9%86%d8%af-%d9%86%da%a9%d8%aa%d9%87\/#%D8%A8%D8%A7%D8%B2%DA%AF%D8%B4%D8%AA_%D8%AF%D8%B1_%D9%85%D9%82%D8%A7%D8%A8%D9%84_%D8%A8%D8%A7%D8%B2%DA%AF%D8%B4%D8%AA_%D8%AF%D8%B1_%D8%A7%D9%86%D8%AA%D8%B8%D8%A7%D8%B1\" >\u0628\u0627\u0632\u06af\u0634\u062a \u062f\u0631 \u0645\u0642\u0627\u0628\u0644 \u0628\u0627\u0632\u06af\u0634\u062a \u062f\u0631 \u0627\u0646\u062a\u0638\u0627\u0631<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"%D9%88%D8%B9%D8%AF%D9%87_%DA%86%DB%8C%D8%B3%D8%AA%D8%9F\"><\/span>\n<p>  \u0648\u0639\u062f\u0647 \u0686\u06cc\u0633\u062a\u061f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Promise \u06cc\u06a9 \u0634\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0646\u0634\u0627\u0646 \u062f\u0647\u0646\u062f\u0647 \u0646\u062a\u06cc\u062c\u0647 \u0622\u06cc\u0646\u062f\u0647 \u0627\u0633\u062a.  \u0628\u0647 \u0639\u0628\u0627\u0631\u062a \u062f\u06cc\u06af\u0631\u060c \u06cc\u06a9 Promise \u0646\u062a\u06cc\u062c\u0647 \u06cc\u06a9 \u062a\u0627\u0628\u0639 \u0646\u0627\u0647\u0645\u0632\u0645\u0627\u0646 \u0631\u0627 \u0646\u0634\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f.  <\/p>\n<p>\u06cc\u06a9 Promise \u062f\u0627\u0631\u0627\u06cc \u0633\u0647 \u062d\u0627\u0644\u062a \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u0633\u0647 \u0646\u062a\u06cc\u062c\u0647 \u0645\u0645\u06a9\u0646 \u06cc\u06a9 \u062a\u0627\u0628\u0639 \u0646\u0627\u0647\u0645\u0632\u0645\u0627\u0646 \u0627\u0633\u062a:<\/p>\n<ul>\n<li>\n<code>pending<\/code>  \u062d\u0627\u0644\u062a \u0627\u0648\u0644\u06cc\u0647 \u0627\u0633\u062a\u060c \u0645\u0646\u062a\u0638\u0631 \u0646\u062a\u06cc\u062c\u0647 \u0627\u0633\u062a.\n<\/li>\n<li>\n<code>fulfilled<\/code>  \u062d\u0627\u0644\u062a \u0645\u0648\u0641\u0642 \u0628\u0627 \u0645\u0642\u062f\u0627\u0631 \u0646\u062a\u06cc\u062c\u0647 \u0627\u0633\u062a.\n<\/li>\n<li>\n<code>rejected<\/code>  \u062d\u0627\u0644\u062a \u0634\u06a9\u0633\u062a\u060c \u0628\u0627 \u0645\u0642\u062f\u0627\u0631 \u062e\u0637\u0627\u06cc \u0627\u062e\u062a\u06cc\u0627\u0631\u06cc \u0627\u0633\u062a.\n<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/practicaldev\/image\/fetch\/s--SpnWUBAH--\/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800\/https:\/\/static-img.2coffee.dev\/promise-cach-su-dung-va-mot-vai-luu-y_promise-flow.webp\" alt=\"\u0648\u0639\u062f\u0647\" loading=\"lazy\" width=\"800\" height=\"297\" title=\"\"><\/p>\n<p>\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644\u060c \u0628\u06cc\u0627\u06cc\u06cc\u062f \u06cc\u06a9 Promise \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u06cc\u06a9 \u0639\u062f\u062f \u0631\u0627 \u0645\u06cc \u06af\u06cc\u0631\u062f <code>x<\/code> \u0648 \u0628\u0631\u0645\u06cc \u06af\u0631\u062f\u0627\u0646\u062f <code>fulfilled<\/code> \u0627\u06af\u0631 <code>x<\/code> \u0628\u0631 2 \u0628\u062e\u0634 \u067e\u0630\u06cc\u0631 \u0627\u0633\u062a \u0648 <code>rejected<\/code> \u062f\u0631 \u063a\u06cc\u0631 \u0627\u06cc\u0646 \u0635\u0648\u0631\u062a \u0628\u06cc\u0627\u0646 \u06a9\u0646\u06cc\u062f<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"kd\">function<\/span> <span class=\"nf\">isEven<\/span><span class=\"p\">(<\/span><span class=\"nx\">x<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n  <span class=\"k\">return<\/span> <span class=\"k\">new<\/span> <span class=\"nc\">Promise<\/span><span class=\"p\">((<\/span><span class=\"nx\">resolve<\/span><span class=\"p\">,<\/span> <span class=\"nx\">reject<\/span><span class=\"p\">)<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">if <\/span><span class=\"p\">(<\/span><span class=\"nx\">x<\/span> <span class=\"o\">%<\/span> <span class=\"mi\">2<\/span> <span class=\"o\">===<\/span> <span class=\"mi\">0<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n      <span class=\"nf\">resolve<\/span><span class=\"p\">(<\/span><span class=\"kc\">true<\/span><span class=\"p\">);<\/span>\n    <span class=\"p\">}<\/span> <span class=\"k\">else<\/span> <span class=\"p\">{<\/span>\n      <span class=\"nf\">reject<\/span><span class=\"p\">(<\/span><span class=\"k\">new<\/span> <span class=\"nc\">Error<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">x is not even<\/span><span class=\"dl\">'<\/span><span class=\"p\">));<\/span>\n    <span class=\"p\">}<\/span>\n  <span class=\"p\">});<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062f\u0631 \u0627\u0635\u0644\u060c \u06cc\u06a9 \u0648\u0639\u062f\u0647 \u0646\u0634\u0627\u0646 \u062f\u0647\u0646\u062f\u0647 \u06cc\u06a9 \u0646\u062a\u06cc\u062c\u0647 \u0622\u06cc\u0646\u062f\u0647 \u0627\u0633\u062a.  \u062f\u0631 \u0645\u062b\u0627\u0644 \u0628\u0627\u0644\u0627\u060c \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 Promise \u0636\u0631\u0648\u0631\u06cc \u0646\u06cc\u0633\u062a \u0632\u06cc\u0631\u0627 \u062a\u0645\u0627\u0645 \u0627\u0642\u062f\u0627\u0645\u0627\u062a \u062f\u0627\u062e\u0644 \u0622\u0646 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u0634\u0648\u062f <code>isEven<\/code> \u062a\u0627\u0628\u0639 \u0647\u0645\u0632\u0645\u0627\u0646 \u0647\u0633\u062a\u0646\u062f  \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646\u060c \u0686\u0647 \u0632\u0645\u0627\u0646\u06cc \u0628\u0627\u06cc\u062f \u0627\u0632 Promise \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645 \u0648 \u0686\u0647 \u0686\u06cc\u0632\u06cc \u06cc\u06a9 \u062a\u0627\u0628\u0639 \u0631\u0627 \u0646\u0627\u0647\u0645\u0632\u0645\u0627\u0646 \u0645\u06cc \u06a9\u0646\u062f\u061f  <\/p>\n<p>\u0686\u0647 \u0686\u06cc\u0632\u06cc \u06cc\u06a9 \u062a\u0627\u0628\u0639 \u0631\u0627 \u0646\u0627\u0647\u0645\u0632\u0645\u0627\u0646 \u0645\u06cc \u06a9\u0646\u062f\u061f  \u0645\u0646 \u062f\u0631 \u0628\u0633\u06cc\u0627\u0631\u06cc \u0627\u0632 \u0645\u0642\u0627\u0644\u0627\u062a \u0628\u0647 \u0622\u0646 \u0627\u0634\u0627\u0631\u0647 \u06a9\u0631\u062f\u0647 \u0627\u0645.  \u0628\u0631\u062e\u06cc \u0627\u0632 \u0648\u0638\u0627\u06cc\u0641 I\/O \u0627\u0631\u0627\u0626\u0647 \u0634\u062f\u0647 \u062a\u0648\u0633\u0637 \u062a\u0648\u0627\u0628\u0639 \u0646\u0627\u0647\u0645\u0632\u0645\u0627\u0646 \u0646\u0645\u06cc \u062a\u0648\u0627\u0646\u0646\u062f \u0641\u0648\u0631\u0627\u064b \u0646\u062a\u06cc\u062c\u0647 \u0631\u0627 \u0628\u0631\u06af\u0631\u062f\u0627\u0646\u0646\u062f.  \u0622\u0646\u0647\u0627 \u0628\u0647 \u0639\u0648\u0627\u0645\u0644 \u062e\u0627\u0631\u062c\u06cc \u0645\u0627\u0646\u0646\u062f \u0633\u0631\u0639\u062a \u0633\u062e\u062a \u0627\u0641\u0632\u0627\u0631\u060c \u0633\u0631\u0639\u062a \u0634\u0628\u06a9\u0647 \u0648 \u063a\u06cc\u0631\u0647 \u0628\u0633\u062a\u06af\u06cc \u062f\u0627\u0631\u0646\u062f. \u0627\u0646\u062a\u0638\u0627\u0631 \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u0627\u0642\u062f\u0627\u0645\u0627\u062a \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0632\u0645\u0627\u0646 \u0632\u06cc\u0627\u062f\u06cc \u0631\u0627 \u0647\u062f\u0631 \u062f\u0647\u062f \u06cc\u0627 \u0628\u0627\u0639\u062b \u062a\u0646\u06af\u0646\u0627\u0647\u0627\u06cc \u062c\u062f\u06cc \u0634\u0648\u062f.  <\/p>\n<p>\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644\u060c \u0647\u0646\u06af\u0627\u0645 \u062f\u0631\u062e\u0648\u0627\u0633\u062a GET \u0628\u0647 \u0622\u062f\u0631\u0633 <code>https:\/\/example.com<\/code>\u060c \u067e\u0631\u062f\u0627\u0632\u0634 \u062f\u06cc\u06af\u0631 \u0628\u0647 \u0633\u0631\u0639\u062a CPU \u0628\u0633\u062a\u06af\u06cc \u0646\u062f\u0627\u0631\u062f.  \u0628\u0647 \u0633\u0631\u0639\u062a \u0634\u0628\u06a9\u0647 \u0634\u0645\u0627 \u0646\u06cc\u0632 \u0628\u0633\u062a\u06af\u06cc \u062f\u0627\u0631\u062f.  \u0647\u0631 \u0686\u0647 \u0634\u0628\u06a9\u0647 \u0633\u0631\u06cc\u0639\u062a\u0631 \u0628\u0627\u0634\u062f\u060c \u0646\u062a\u06cc\u062c\u0647 \u0631\u0627 \u0633\u0631\u06cc\u0639\u062a\u0631 \u062f\u0631\u06cc\u0627\u0641\u062a \u062e\u0648\u0627\u0647\u06cc\u062f \u06a9\u0631\u062f.  \u062f\u0631 \u062c\u0627\u0648\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a\u060c \u0645\u0627 \u0622\u0646 \u0631\u0627 \u062f\u0627\u0631\u06cc\u0645 <code>fetch<\/code> \u062a\u0627\u0628\u0639 \u0627\u0631\u0633\u0627\u0644 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0627\u0633\u062a \u0648 \u0646\u0627\u0647\u0645\u0632\u0645\u0627\u0646 \u0627\u0633\u062a \u0648 \u06cc\u06a9 Promise \u0631\u0627 \u0628\u0631\u0645\u06cc \u06af\u0631\u062f\u0627\u0646\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"nf\">fetch<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">https:\/\/example.com<\/span><span class=\"dl\">'<\/span><span class=\"p\">);<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u0631\u0627\u06cc \u0631\u0633\u06cc\u062f\u06af\u06cc \u0628\u0647 \u0646\u062a\u06cc\u062c\u0647 \u06cc\u06a9 Promise\u060c \u0627\u0632 \u0622\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u0645 <code>then<\/code> \u0648 <code>catch<\/code> \u0628\u0647 \u062a\u0631\u062a\u06cc\u0628 \u0628\u0631\u0627\u06cc \u0645\u0648\u0627\u0631\u062f \u0645\u0648\u0641\u0642\u06cc\u062a \u0648 \u0634\u06a9\u0633\u062a.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"nf\">fetch<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">https:\/\/example.com<\/span><span class=\"dl\">'<\/span><span class=\"p\">)<\/span>\n    <span class=\"p\">.<\/span><span class=\"nf\">then<\/span><span class=\"p\">(<\/span><span class=\"nx\">res<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nf\">log<\/span><span class=\"p\">(<\/span><span class=\"nx\">res<\/span><span class=\"p\">))<\/span>\n    <span class=\"p\">.<\/span><span class=\"k\">catch<\/span><span class=\"p\">(<\/span><span class=\"nx\">err<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nf\">log<\/span><span class=\"p\">(<\/span><span class=\"nx\">err<\/span><span class=\"p\">));<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06af\u0631 \u067e\u0633 \u0627\u0632 \u0645\u062f\u062a\u06cc \u067e\u0631\u062f\u0627\u0632\u0634\u060c <code>fetch<\/code> \u0627\u0633\u062a <code>fulfilled<\/code>\u060c \u062a\u0627\u0628\u0639 \u062f\u0627\u062e\u0644 <code>then<\/code> \u0641\u0639\u0627\u0644 \u062e\u0648\u0627\u0647\u062f \u0634\u062f.  \u062f\u0631 \u063a\u06cc\u0631 \u0627\u06cc\u0646 \u0635\u0648\u0631\u062a\u060c \u0627\u06af\u0631 <code>fetch<\/code> \u0627\u0633\u062a <code>rejected<\/code>\u060c \u062a\u0627\u0628\u0639 \u062f\u0627\u062e\u0644 <code>catch<\/code> \u0628\u0644\u0627\u0641\u0627\u0635\u0644\u0647 \u0627\u0639\u062f\u0627\u0645 \u062e\u0648\u0627\u0647\u062f \u0634\u062f.  <\/p>\n<p>\u06af\u0627\u0647\u06cc \u0627\u0648\u0642\u0627\u062a \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0628\u0627 \u0633\u0648\u0627\u0644\u0627\u062a\u06cc \u0645\u0627\u0646\u0646\u062f \u067e\u06cc\u0634 \u0628\u06cc\u0646\u06cc \u0646\u062a\u06cc\u062c\u0647 \u0645\u062b\u0627\u0644 \u0632\u06cc\u0631 \u0645\u0648\u0627\u062c\u0647 \u0634\u0648\u06cc\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nf\">log<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">1<\/span><span class=\"dl\">'<\/span><span class=\"p\">);<\/span>\n\n<span class=\"nf\">fetch<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">https:\/\/example.com<\/span><span class=\"dl\">'<\/span><span class=\"p\">)<\/span>\n    <span class=\"p\">.<\/span><span class=\"nf\">then<\/span><span class=\"p\">(<\/span><span class=\"nx\">res<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nf\">log<\/span><span class=\"p\">(<\/span><span class=\"nx\">res<\/span><span class=\"p\">))<\/span>\n    <span class=\"p\">.<\/span><span class=\"k\">catch<\/span><span class=\"p\">(<\/span><span class=\"nx\">err<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nf\">log<\/span><span class=\"p\">(<\/span><span class=\"nx\">err<\/span><span class=\"p\">))<\/span>\n    <span class=\"p\">.<\/span><span class=\"k\">finally<\/span><span class=\"p\">(()<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nf\">log<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">3<\/span><span class=\"dl\">'<\/span><span class=\"p\">));<\/span>\n\n<span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nf\">log<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">2<\/span><span class=\"dl\">'<\/span><span class=\"p\">);<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06cc\u0646 \u0633\u0648\u0627\u0644 \u062f\u0631 \u0648\u0627\u0642\u0639 \u0628\u0631\u0627\u06cc \u0622\u0632\u0645\u0627\u06cc\u0634 \u062f\u0631\u06a9 \u0634\u0645\u0627 \u0627\u0632 \u0631\u0641\u062a\u0627\u0631 \u0646\u0627\u0647\u0645\u0632\u0645\u0627\u0646 \u062f\u0631 \u062c\u0627\u0648\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0627\u0633\u062a.  \u0646\u062a\u06cc\u062c\u0647 \u0628\u0647 \u062c\u0627\u06cc 1\u060c 3\u060c 2\u060c 1\u060c 2\u060c 3 \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f. \u0627\u06cc\u0646 \u0628\u0647 \u062f\u0644\u06cc\u0644 \u0645\u0627\u0647\u06cc\u062a \u067e\u0631\u062f\u0627\u0632\u0634 \u0646\u0627\u0647\u0645\u0632\u0645\u0627\u0646 \u0627\u0633\u062a.  \u0627\u0632 \u0622\u0646\u062c\u0627\u06cc\u06cc \u06a9\u0647 \u0646\u062a\u06cc\u062c\u0647 \u0631\u0641\u062a\u0627\u0631 \u0646\u0627\u0647\u0645\u0632\u0645\u0627\u0646 \u062f\u0631 \u0622\u06cc\u0646\u062f\u0647 \u0628\u0631\u06af\u0631\u062f\u0627\u0646\u062f\u0647 \u062e\u0648\u0627\u0647\u062f \u0634\u062f\u060c \u062c\u0627\u0648\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0641\u06a9\u0631 \u0645\u06cc\u200c\u06a9\u0646\u062f\u060c &#8220;\u0628\u0633\u06cc\u0627\u0631 \u062e\u0648\u0628\u060c \u0627\u06cc\u0646 \u062a\u0627\u0628\u0639 \u0646\u0627\u0647\u0645\u0632\u0645\u0627\u0646 \u0647\u0646\u0648\u0632 \u0646\u062a\u06cc\u062c\u0647 \u0641\u0648\u0631\u06cc \u0646\u062f\u0627\u0631\u062f. \u0628\u06af\u0630\u0627\u0631\u06cc\u062f \u0647\u0645\u06cc\u0646\u0637\u0648\u0631 \u0628\u0627\u0634\u062f \u0648 \u0628\u0647 \u067e\u0631\u062f\u0627\u0632\u0634 \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u0632\u06cc\u0631 \u0627\u062f\u0627\u0645\u0647 \u062f\u0647\u06cc\u062f. \u0648\u0642\u062a\u06cc \u0647\u0645\u0647 \u0686\u06cc\u0632 \u0627\u0646\u062c\u0627\u0645 \u0634\u062f\u060c \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0622\u06cc\u0627 \u06cc\u06a9 \u062a\u0627\u0628\u0639 \u062f\u0627\u0631\u062f \u06cc\u0627 \u062e\u06cc\u0631. \u0646\u062a\u06cc\u062c\u0647.&#8221;  \u0628\u0631\u0627\u06cc \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0628\u06cc\u0634\u062a\u0631 \u062f\u0631 \u0645\u0648\u0631\u062f \u0646\u062d\u0648\u0647 \u0639\u0645\u0644\u06a9\u0631\u062f \u067e\u0631\u062f\u0627\u0632\u0634 \u0646\u0627\u0647\u0645\u0632\u0645\u0627\u0646\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0647 \u0645\u0642\u0627\u0644\u0627\u062a \u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633\u06cc \u0646\u0627\u0647\u0645\u0632\u0645\u0627\u0646 \u062f\u0631 \u062c\u0627\u0648\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0645\u0631\u0627\u062c\u0639\u0647 \u06a9\u0646\u06cc\u062f.  <\/p>\n<p>Promise \u0686\u0646\u062f \u0631\u0648\u0634 \u0627\u0633\u062a\u0627\u062a\u06cc\u06a9 \u0645\u0641\u06cc\u062f \u0628\u0631\u0627\u06cc \u0645\u0648\u0627\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u062e\u062a\u0644\u0641 \u062f\u0627\u0631\u062f\u060c \u0645\u0627\u0646\u0646\u062f <code>all<\/code>\u060c <code>allSettled<\/code>\u060c <code>any<\/code>\u060c \u0648 <code>race<\/code>.  <\/p>\n<p><code>Promise.all<\/code>  \u0622\u0631\u0627\u06cc\u0647 \u0627\u06cc \u0627\u0632 Promises \u0631\u0627 \u0645\u06cc \u06af\u06cc\u0631\u062f\u060c \u06cc\u06a9 Promise \u0628\u0631\u0645\u06cc \u06af\u0631\u062f\u0627\u0646\u062f \u0648 \u062f\u0631 \u0622\u0646 \u0642\u0631\u0627\u0631 \u0645\u06cc \u06af\u06cc\u0631\u062f <code>fulfilled<\/code> \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0647\u0645\u0647 Promises \u062f\u0631 \u0622\u0631\u0627\u06cc\u0647 \u0645\u0648\u0641\u0642\u06cc\u062a \u0622\u0645\u06cc\u0632 \u0647\u0633\u062a\u0646\u062f \u0631\u0627 \u0628\u06cc\u0627\u0646 \u06a9\u0646\u06cc\u062f.  \u062f\u0631 \u063a\u06cc\u0631 \u0627\u06cc\u0646 \u0635\u0648\u0631\u062a\u060c \u0622\u0646 \u0631\u0627 \u062f\u0631 <code>rejected<\/code> \u062d\u0627\u0644\u062a \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u062d\u062f\u0627\u0642\u0644 \u06cc\u06a9 Promise \u062f\u0631 \u0622\u0631\u0627\u06cc\u0647 \u0628\u0627 \u0634\u06a9\u0633\u062a \u0645\u0648\u0627\u062c\u0647 \u0634\u0648\u062f.  <\/p>\n<p><code>Promise.allSettled<\/code>  \u0634\u0628\u06cc\u0647 \u0627\u0633\u062a \u0628\u0647 <code>Promise.all<\/code> \u0627\u0645\u0627 \u0647\u0645\u06cc\u0634\u0647 \u0646\u062a\u0627\u06cc\u062c \u062a\u0645\u0627\u0645 Promises \u062f\u0631 \u0622\u0631\u0627\u06cc\u0647 \u0631\u0627 \u0628\u062f\u0648\u0646 \u062f\u0631 \u0646\u0638\u0631 \u06af\u0631\u0641\u062a\u0646 \u0645\u0648\u0641\u0642\u06cc\u062a \u06cc\u0627 \u0634\u06a9\u0633\u062a \u0628\u0631\u0645\u06cc \u06af\u0631\u062f\u0627\u0646\u062f.  \u0647\u0631 \u062f\u0648 <code>Promise.all<\/code> \u0648 <code>Promise.allSettled<\/code> \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u06cc\u062f \u0686\u0646\u062f\u06cc\u0646 \u062a\u0627\u0628\u0639 \u0646\u0627\u0647\u0645\u0632\u0645\u0627\u0646 \u0631\u0627 \u0641\u0648\u0631\u0627\u064b \u0628\u062f\u0648\u0646 \u0627\u0647\u0645\u06cc\u062a \u062f\u0627\u062f\u0646 \u0628\u0647 \u062a\u0631\u062a\u06cc\u0628 \u0646\u062a\u0627\u06cc\u062c \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f \u0645\u0641\u06cc\u062f \u0647\u0633\u062a\u0646\u062f.  <\/p>\n<p>\u0627\u0632 \u0633\u0648\u06cc \u062f\u06cc\u06af\u0631\u060c <code>Promise.race<\/code> \u0628\u062f\u0648\u0646 \u062f\u0631 \u0646\u0638\u0631 \u06af\u0631\u0641\u062a\u0646 \u0645\u0648\u0641\u0642\u06cc\u062a \u06cc\u0627 \u0634\u06a9\u0633\u062a\u060c \u0646\u062a\u06cc\u062c\u0647 Promise \u0631\u0627 \u06a9\u0647 \u0627\u0628\u062a\u062f\u0627 \u062a\u0633\u0648\u06cc\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a\u060c \u0628\u0631\u0645\u06cc \u06af\u0631\u062f\u0627\u0646\u062f. <code>Promise.any<\/code> \u0627\u0648\u0644\u06cc\u0646 \u0648\u0639\u062f\u0647 \u0627\u0646\u062c\u0627\u0645 \u0634\u062f\u0647 \u0631\u0627 \u062f\u0631 \u0622\u0631\u0627\u06cc\u0647 \u0628\u0631\u0645\u06cc \u06af\u0631\u062f\u0627\u0646\u062f. <code>race<\/code> \u0648 <code>any<\/code> \u0632\u0645\u0627\u0646\u06cc \u0645\u0646\u0627\u0633\u0628 \u0647\u0633\u062a\u0646\u062f \u06a9\u0647 \u0686\u0646\u062f\u06cc\u0646 \u0648\u0639\u062f\u0647 \u062f\u0627\u0631\u06cc\u062f \u06a9\u0647 \u0627\u0642\u062f\u0627\u0645\u0627\u062a \u0645\u0634\u0627\u0628\u0647\u06cc \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u062f\u0647\u0646\u062f \u0648 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u0628\u0627\u0632\u06af\u0634\u062a \u0628\u06cc\u0646 \u0646\u062a\u0627\u06cc\u062c \u062f\u0627\u0631\u0646\u062f.  <\/p>\n<h2><span class=\"ez-toc-section\" id=\"Promise_%D8%AC%D8%A7%DB%8C%DA%AF%D8%B2%DB%8C%D9%86_%E2%80%9CCallback_Hell%E2%80%9D_%D9%85%DB%8C_%D8%B4%D9%88%D8%AF\"><\/span>\n<p>  Promise \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 &#8220;Callback Hell&#8221; \u0645\u06cc \u0634\u0648\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u062c\u0627\u06cc \u062a\u0639\u062c\u0628 \u0627\u0633\u062a \u06a9\u0647 \u0628\u062f\u0627\u0646\u06cc\u062f \u062c\u0627\u0648\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0642\u0628\u0644\u0627\u064b Promise \u0646\u062f\u0627\u0634\u062a.  \u0628\u0644\u0647\u060c \u062f\u0631\u0633\u062a \u0634\u0646\u06cc\u062f\u06cc.  \u0627\u06cc\u0646 \u0648\u0627\u0642\u0639\u06cc\u062a \u0628\u0627\u0639\u062b \u0634\u062f \u06a9\u0647 Node.js \u0646\u06cc\u0632 \u062f\u0631 \u0631\u0648\u0632\u0647\u0627\u06cc \u0627\u0648\u0644\u06cc\u0647 Promise \u0646\u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f\u060c \u0648 \u0627\u06cc\u0646 \u0628\u0632\u0631\u06af\u062a\u0631\u06cc\u0646 \u067e\u0634\u06cc\u0645\u0627\u0646\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0633\u0627\u0632\u0646\u062f\u0647 Node.js \u062f\u0627\u0631\u062f. <\/p>\n<p>\u067e\u06cc\u0634 \u0627\u0632 \u0627\u06cc\u0646\u060c \u062a\u0645\u0627\u0645 \u0648\u0638\u0627\u06cc\u0641 \u0646\u0627\u0647\u0645\u0632\u0645\u0627\u0646 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u062a\u0645\u0627\u0633 \u067e\u0627\u0633\u062e \u062f\u0627\u062f\u0647 \u0645\u06cc \u0634\u062f.  \u0645\u0627 \u06cc\u06a9 \u062a\u0627\u0628\u0639 callback \u062a\u0639\u0631\u06cc\u0641 \u0645\u06cc \u06a9\u0646\u06cc\u0645 \u062a\u0627 \u0646\u062a\u06cc\u062c\u0647 \u0631\u0627 \u062f\u0631 \u0622\u06cc\u0646\u062f\u0647 \u0645\u062f\u06cc\u0631\u06cc\u062a \u06a9\u0646\u062f.  <\/p>\n<p>\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644\u060c \u06cc\u06a9 \u062a\u0627\u0628\u0639 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0646\u0627\u0647\u0645\u0632\u0645\u0627\u0646 \u0627\u0648\u0644\u06cc\u0647 \u0628\u0648\u062f <code>XMLHttpRequest<\/code>.  \u0646\u062a\u06cc\u062c\u0647 \u0631\u0627 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u062a\u0645\u0627\u0633 \u067e\u0627\u0633\u062e \u062f\u0627\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"kd\">function<\/span> <span class=\"nf\">reqListener<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nf\">log<\/span><span class=\"p\">(<\/span><span class=\"k\">this<\/span><span class=\"p\">.<\/span><span class=\"nx\">responseText<\/span><span class=\"p\">);<\/span>\n<span class=\"p\">}<\/span>\n\n<span class=\"kd\">const<\/span> <span class=\"nx\">req<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"nc\">XMLHttpRequest<\/span><span class=\"p\">();<\/span>\n<span class=\"nx\">req<\/span><span class=\"p\">.<\/span><span class=\"nf\">addEventListener<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">load<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span> <span class=\"nx\">reqListener<\/span><span class=\"p\">);<\/span>\n<span class=\"nx\">req<\/span><span class=\"p\">.<\/span><span class=\"nf\">open<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">GET<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">https:\/\/example.com<\/span><span class=\"dl\">'<\/span><span class=\"p\">);<\/span>\n<span class=\"nx\">req<\/span><span class=\"p\">.<\/span><span class=\"nf\">send<\/span><span class=\"p\">();<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><code>reqListener<\/code>  \u062a\u0627\u0628\u0639\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0632\u0645\u0627\u0646\u06cc \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0645\u06cc \u0634\u0648\u062f \u06a9\u0647 \u0646\u062a\u06cc\u062c\u0647 \u0627\u06cc \u0627\u0632 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0628\u0647 \u0648\u062c\u0648\u062f \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f <code>https:\/\/example.com<\/code>.  \u0645\u062f\u06cc\u0631\u06cc\u062a \u0631\u0641\u062a\u0627\u0631 \u0646\u0627\u0647\u0645\u0632\u0645\u0627\u0646 \u0628\u0627 \u062a\u0645\u0627\u0633\u200c\u0647\u0627\u06cc \u0628\u0631\u06af\u0634\u062a\u06cc \u0645\u0634\u06a9\u0644\u0627\u062a\u06cc \u0631\u0627 \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u062f\u0627\u0634\u062a\u060c \u0627\u0632 \u062c\u0645\u0644\u0647 \u0622\u0646\u0686\u0647 \u06a9\u0647 \u0645\u0639\u0645\u0648\u0644\u0627\u064b \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 &#8220;\u062c\u0647\u0646\u0645 \u067e\u0627\u0633\u062e \u0628\u0647 \u062a\u0645\u0627\u0633&#8221; \u0634\u0646\u0627\u062e\u062a\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f.  <\/p>\n<p>\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644\u060c \u06cc\u06a9 \u062a\u0627\u0628\u0639 \u0646\u0627\u0647\u0645\u0632\u0645\u0627\u0646 <code>fnA<\/code> \u06cc\u06a9 \u062a\u0627\u0628\u0639 \u062a\u0645\u0627\u0633 \u0628\u0627 \u062f\u0648 \u067e\u0627\u0631\u0627\u0645\u062a\u0631 \u062f\u0631\u06cc\u0627\u0641\u062a \u0645\u06cc \u06a9\u0646\u062f: <code>data<\/code> \u0646\u0634\u0627\u0646 \u062f\u0647\u0646\u062f\u0647 \u0646\u062a\u06cc\u062c\u0647 \u0645\u0648\u0641\u0642\u06cc\u062a \u0622\u0645\u06cc\u0632 \u0648 <code>err<\/code> \u0646\u0634\u0627\u0646 \u062f\u0647\u0646\u062f\u0647 \u062e\u0637\u0627  \u062a\u0648\u0627\u0628\u0639 \u0645\u0634\u0627\u0628\u0647 \u0634\u0627\u0645\u0644 <code>fnB<\/code>\u060c <code>fnC<\/code>\u0648 \u063a\u06cc\u0631\u0647 \u0627\u06af\u0631 \u0628\u062e\u0648\u0627\u0647\u06cc\u0645 \u0627\u06cc\u0646 \u062a\u0648\u0627\u0628\u0639 \u067e\u0631\u062f\u0627\u0632\u0634\u06cc \u0631\u0627 \u0628\u0627 \u0647\u0645 \u062a\u0631\u06a9\u06cc\u0628 \u06a9\u0646\u06cc\u0645\u060c \u0628\u0627\u06cc\u062f \u0622\u0646\u0647\u0627 \u0631\u0627 \u062f\u0631 \u062f\u0627\u062e\u0644 \u06cc\u06a9\u062f\u06cc\u06af\u0631 \u0644\u0627\u0646\u0647 \u06a9\u0646\u06cc\u0645.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"nf\">fnA<\/span><span class=\"p\">((<\/span><span class=\"nx\">data1<\/span><span class=\"p\">,<\/span> <span class=\"nx\">err1<\/span><span class=\"p\">)<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n    <span class=\"nf\">fnB<\/span><span class=\"p\">((<\/span><span class=\"nx\">data2<\/span><span class=\"p\">,<\/span> <span class=\"nx\">err2<\/span><span class=\"p\">)<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n        <span class=\"nf\">fnC<\/span><span class=\"p\">((<\/span><span class=\"nx\">data3<\/span><span class=\"p\">,<\/span> <span class=\"nx\">err3<\/span><span class=\"p\">)<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n        <span class=\"p\">....<\/span>  \n        <span class=\"p\">});<\/span>\n    <span class=\"p\">});<\/span>\n<span class=\"p\">});<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0647\u0646\u06af\u0627\u0645\u06cc \u06a9\u0647 \u062a\u0639\u062f\u0627\u062f \u0628\u06cc\u0634 \u0627\u0632 \u062d\u062f \u062a\u0645\u0627\u0633\u200c\u0647\u0627\u06cc \u0628\u0631\u06af\u0634\u062a\u06cc \u0628\u0647 \u0627\u06cc\u0646 \u0634\u06a9\u0644 \u0646\u0648\u0634\u062a\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f\u060c \u06a9\u062f \u0645\u0627 \u0628\u0647 \u0645\u0639\u0646\u0627\u06cc \u0648\u0627\u0642\u0639\u06cc \u06a9\u0644\u0645\u0647 \u0628\u0647 &#8220;\u062c\u0647\u0646\u0645 \u067e\u0627\u0633\u062e \u0628\u0647 \u062a\u0645\u0627\u0633&#8221; \u062a\u0628\u062f\u06cc\u0644 \u0645\u06cc\u200c\u0634\u0648\u062f.  \u0622\u0634\u0641\u062a\u0647 \u0645\u06cc \u0634\u0648\u062f \u0648 \u0645\u0627\u0646\u0639 \u0627\u0632 \u0631\u0648\u0646\u062f \u062e\u0648\u0627\u0646\u062f\u0646 \u0648 \u062f\u0631\u06a9 \u0645\u06cc \u0634\u0648\u062f.  <\/p>\n<p>Promise \u0628\u0631\u0627\u06cc \u0627\u0631\u0627\u0626\u0647 \u06cc\u06a9 \u0631\u0648\u06cc\u06a9\u0631\u062f \u062c\u062f\u06cc\u062f \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u0631\u0641\u062a\u0627\u0631 \u0646\u0627\u0647\u0645\u0632\u0645\u0627\u0646 \u0645\u0639\u0631\u0641\u06cc \u0634\u062f.  \u0645\u0627 \u0647\u0646\u0648\u0632 \u0627\u0632 \u062a\u0645\u0627\u0633\u200c\u0647\u0627\u06cc \u0628\u0631\u06af\u0634\u062a\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645\u060c \u0627\u0645\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u00ab\u062c\u0647\u0646\u0645\u00bb \u0631\u0627 \u0628\u0627 \u0627\u062a\u0635\u0627\u0644 \u0645\u062a\u0648\u0627\u0644\u06cc \u0647\u0645\u0647 \u0686\u06cc\u0632 \u0645\u062d\u062f\u0648\u062f \u06a9\u0646\u06cc\u0645 <code>then<\/code>.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"nf\">fnA<\/span><span class=\"p\">()<\/span>\n    <span class=\"p\">.<\/span><span class=\"nf\">then<\/span><span class=\"p\">(<\/span><span class=\"nx\">data<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"nf\">fnB<\/span><span class=\"p\">(<\/span><span class=\"nx\">data<\/span><span class=\"p\">))<\/span>\n    <span class=\"p\">.<\/span><span class=\"nf\">then<\/span><span class=\"p\">(<\/span><span class=\"nx\">data<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"nf\">fnC<\/span><span class=\"p\">(<\/span><span class=\"nx\">data<\/span><span class=\"p\">))<\/span>\n    <span class=\"p\">...<\/span>  \n    <span class=\"p\">.<\/span><span class=\"k\">catch<\/span><span class=\"p\">(<\/span><span class=\"nx\">err<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nf\">log<\/span><span class=\"p\">(<\/span><span class=\"nx\">err<\/span><span class=\"p\">));<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u067e\u0633 \u0627\u0632 \u0622\u0646\u060c \u0628\u0633\u06cc\u0627\u0631\u06cc \u0627\u0632 \u062a\u0648\u0627\u0628\u0639 \u0645\u0628\u062a\u0646\u06cc \u0628\u0631 \u062a\u0645\u0627\u0633 \u0646\u0627\u0647\u0645\u0632\u0645\u0627\u0646 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0622\u0646 \u0628\u0627\u0632\u0646\u0648\u06cc\u0633\u06cc \u0634\u062f\u0646\u062f <code>new Promise<\/code>.  \u062f\u0631 Node.js\u060c \u0645\u0627 \u062d\u062a\u06cc \u06cc\u06a9 \u0645\u0627\u0698\u0648\u0644 \u062f\u0627\u062e\u0644\u06cc \u0628\u0647 \u0646\u0627\u0645 util.promisify \u0645\u062e\u0635\u0648\u0635 \u0627\u06cc\u0646 \u062a\u0628\u062f\u06cc\u0644 \u062f\u0627\u0631\u06cc\u0645.  \u062a\u0645\u0627\u0633\u200c\u0647\u0627\u06cc \u0628\u0631\u06af\u0634\u062a\u06cc \u0647\u0645\u0686\u0646\u0627\u0646 \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0645\u06cc\u200c\u0634\u0648\u0646\u062f\u060c \u0627\u0645\u0627 \u0628\u0627 \u0645\u0632\u0627\u06cc\u0627\u06cc\u06cc \u06a9\u0647 Promise \u0628\u0647 \u0627\u0631\u0645\u063a\u0627\u0646 \u0645\u06cc\u200c\u0622\u0648\u0631\u062f\u060c \u0628\u0633\u06cc\u0627\u0631\u06cc \u0627\u0632 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647\u200c\u0647\u0627\u06cc \u062c\u062f\u06cc\u062f \u0627\u0632 Promise \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u067e\u06cc\u0634\u200c\u0641\u0631\u0636 \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u0631\u0641\u062a\u0627\u0631 \u0646\u0627\u0647\u0645\u0632\u0645\u0627\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f.  <\/p>\n<h2><span class=\"ez-toc-section\" id=\"Promise_in_Loops\"><\/span>\n<p>  Promise in Loops<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0647\u0646\u06af\u0627\u0645 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Promise \u0628\u062f\u0648\u0646 \u062f\u0631\u06a9 \u06a9\u0627\u0645\u0644 \u0645\u0627\u0647\u06cc\u062a \u0622\u0646\u060c \u0627\u0634\u062a\u0628\u0627\u0647\u0627\u062a \u062a\u0627\u0633\u0641 \u0628\u0627\u0631 \u0632\u06cc\u0627\u062f\u06cc \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f \u0648 \u06cc\u06a9\u06cc \u0627\u0632 \u0622\u0646\u0647\u0627 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0639\u0645\u0644\u06cc\u0627\u062a \u0646\u0627\u0647\u0645\u0632\u0645\u0627\u0646 \u0645\u062a\u0648\u0627\u0644\u06cc \u062f\u0631 \u06cc\u06a9 \u062d\u0644\u0642\u0647 \u0627\u0633\u062a.  <\/p>\n<p>\u0641\u0631\u0636 \u06a9\u0646\u06cc\u062f \u0628\u0627\u06cc\u062f \u0628\u06cc\u0646 5 \u0635\u0641\u062d\u0647 \u062a\u06a9\u0631\u0627\u0631 \u06a9\u0646\u06cc\u062f\u060c \u062a\u0645\u0627\u0633 \u0647\u0627\u06cc API \u0635\u0641\u062d\u0647 \u0628\u0646\u062f\u06cc \u0634\u062f\u0647 \u0631\u0627 \u0627\u0632 1 \u062a\u0627 5 \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u06cc\u062f \u0648 \u0645\u0642\u0627\u062f\u06cc\u0631 \u0628\u0627\u0632\u06af\u0634\u062a\u06cc \u0631\u0627 \u0628\u0647 \u062a\u0631\u062a\u06cc\u0628 \u062f\u0631 \u06cc\u06a9 \u0622\u0631\u0627\u06cc\u0647 \u0628\u0647 \u0647\u0645 \u0645\u062a\u0635\u0644 \u06a9\u0646\u06cc\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"kd\">const<\/span> <span class=\"nx\">results<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[];<\/span>\n<span class=\"k\">for <\/span><span class=\"p\">(<\/span><span class=\"kd\">let<\/span> <span class=\"nx\">i<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">1<\/span><span class=\"p\">;<\/span> <span class=\"nx\">i<\/span> <span class=\"o\">&lt;=<\/span> <span class=\"mi\">5<\/span><span class=\"p\">;<\/span> <span class=\"nx\">i<\/span><span class=\"o\">++<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n  <span class=\"nf\">fetch<\/span><span class=\"p\">(<\/span><span class=\"s2\">`https:\/\/example.com?page=<\/span><span class=\"p\">${<\/span><span class=\"nx\">i<\/span><span class=\"p\">}<\/span><span class=\"s2\">`<\/span><span class=\"p\">)<\/span>\n    <span class=\"p\">.<\/span><span class=\"nf\">then<\/span><span class=\"p\">(<\/span><span class=\"nx\">response<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"nx\">response<\/span><span class=\"p\">.<\/span><span class=\"nf\">json<\/span><span class=\"p\">())<\/span>\n    <span class=\"p\">.<\/span><span class=\"nf\">then<\/span><span class=\"p\">(<\/span><span class=\"nx\">data<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"nx\">results<\/span><span class=\"p\">.<\/span><span class=\"nf\">push<\/span><span class=\"p\">(<\/span><span class=\"nx\">data<\/span><span class=\"p\">));<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u06a9\u062f \u0628\u0627\u0644\u0627 \u06cc\u06a9 \u062d\u0644\u0642\u0647 \u0628\u0631\u0627\u06cc \u0648\u0627\u06a9\u0634\u06cc \u062f\u0627\u062f\u0647 \u0647\u0627 \u0627\u0632 \u0635\u0641\u062d\u0647 1 \u062a\u0627 \u0635\u0641\u062d\u0647 5 \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u06a9\u0646\u062f \u0648 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0628\u0631\u06af\u0634\u062a\u06cc \u0628\u0647 \u062f\u0627\u062e\u0644 <code>results<\/code> \u0622\u0631\u0627\u06cc\u0647.  \u062f\u0631 \u0646\u06af\u0627\u0647 \u0627\u0648\u0644\u060c \u0646\u062a\u06cc\u062c\u0647 \u0622\u0631\u0627\u06cc\u0647 \u0627\u06cc \u0627\u0632 \u062f\u0627\u062f\u0647 \u0647\u0627 \u0628\u0647 \u062a\u0631\u062a\u06cc\u0628 \u0627\u0632 \u0635\u0641\u062d\u0647 \u0627\u0648\u0644 \u062a\u0627 \u0635\u0641\u062d\u0647 \u0622\u062e\u0631 \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f.  \u0628\u0627 \u0627\u06cc\u0646 \u062d\u0627\u0644\u060c \u062f\u0631 \u0648\u0627\u0642\u0639\u06cc\u062a\u060c \u0647\u0631 \u0628\u0627\u0631 \u06a9\u0647 \u0627\u062c\u0631\u0627 \u0645\u06cc \u0634\u0648\u062f\u060c \u0645\u062a\u0648\u062c\u0647 \u062e\u0648\u0627\u0647\u06cc\u062f \u0634\u062f \u06a9\u0647 \u062f\u0627\u062f\u0647 \u0647\u0627 \u062f\u0631 <code>results<\/code> \u0628\u0647 \u0635\u0648\u0631\u062a \u062a\u0635\u0627\u062f\u0641\u06cc \u0633\u0641\u0627\u0631\u0634 \u062f\u0627\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a  <\/p>\n<p>\u06cc\u0627\u062f \u0622\u0648\u0631\u062f\u0646 <code>fetch<\/code>\u060c \u06cc\u06a9 Promise \u0631\u0627 \u0628\u0631\u0645\u06cc \u06af\u0631\u062f\u0627\u0646\u062f \u06a9\u0647 \u0646\u0634\u0627\u0646 \u062f\u0647\u0646\u062f\u0647 \u06cc\u06a9 \u0646\u062a\u06cc\u062c\u0647 \u0622\u06cc\u0646\u062f\u0647 \u0627\u0633\u062a&#8230; \u062f\u0631 \u062d\u0627\u0644\u06cc \u06a9\u0647 <code>for<\/code> \u0633\u0639\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f \u062f\u0631 \u0633\u0631\u06cc\u0639\u200c\u062a\u0631\u06cc\u0646 \u0632\u0645\u0627\u0646 \u0645\u0645\u06a9\u0646 \u0627\u0632 \u0622\u0646 \u0639\u0628\u0648\u0631 \u06a9\u0646\u062f\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0622\u0646 \u0631\u0627 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0647\u0645\u0647 5 \u0645\u0648\u0631\u062f \u062f\u0631 \u0646\u0638\u0631 \u0628\u06af\u06cc\u0631\u06cc\u062f <code>fetch<\/code> \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0648 \u0634\u0631\u0648\u0639 &#8220;\u062a\u0642\u0631\u06cc\u0628\u0627 \u0641\u0648\u0631\u0627&#8221; \u062f\u0633\u062a\u0648\u0631\u0627\u062a.  \u062f\u0631 \u0627\u06cc\u0646 \u0645\u0631\u062d\u0644\u0647\u060c \u0633\u0631\u0639\u062a CPU \u0627\u0647\u0645\u06cc\u062a \u06a9\u0645\u062a\u0631\u06cc \u062f\u0627\u0631\u062f &#8211; \u0627\u06cc\u0646 \u0633\u0631\u0639\u062a \u0634\u0628\u06a9\u0647 \u0627\u0633\u062a \u06a9\u0647 \u062a\u0639\u06cc\u06cc\u0646 \u0645\u06cc \u06a9\u0646\u062f \u06a9\u062f\u0627\u0645 \u06cc\u06a9 <code>fetch<\/code> \u062f\u0633\u062a\u0648\u0631 \u0627\u0648\u0644\u06cc\u0646 \u0646\u062a\u06cc\u062c\u0647 \u0631\u0627 \u062f\u0627\u0631\u062f.  \u0628\u0647 \u0645\u062d\u0636 \u0631\u0633\u06cc\u062f\u0646 \u0628\u0647 \u0646\u062a\u06cc\u062c\u0647\u060c \u0628\u0644\u0627\u0641\u0627\u0635\u0644\u0647 \u0622\u0646 \u0631\u0627 \u0628\u0647 \u062f\u0627\u062e\u0644 \u0647\u0644 \u0645\u06cc \u062f\u0647\u062f <code>results<\/code>\u060c \u062f\u0631 \u0646\u062a\u06cc\u062c\u0647 \u062f\u0627\u062f\u0647 \u0647\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u062a\u0635\u0627\u062f\u0641\u06cc \u0627\u0636\u0627\u0641\u0647 \u0645\u06cc \u0634\u0648\u0646\u062f.  <\/p>\n<p>\u0628\u0631\u0627\u06cc \u062d\u0644 \u0627\u06cc\u0646 \u0645\u0634\u06a9\u0644 \u0631\u0627\u0647 \u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641\u06cc \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f.  \u0645\u062b\u0644\u0627:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"kd\">const<\/span> <span class=\"nx\">results<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[];<\/span>\n<span class=\"nf\">fetch<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">https:\/\/example.com?page=1<\/span><span class=\"dl\">'<\/span><span class=\"p\">)<\/span>\n  <span class=\"p\">.<\/span><span class=\"nf\">then<\/span><span class=\"p\">(<\/span><span class=\"nx\">response<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"nx\">response<\/span><span class=\"p\">.<\/span><span class=\"nf\">json<\/span><span class=\"p\">())<\/span>\n  <span class=\"p\">.<\/span><span class=\"nf\">then<\/span><span class=\"p\">(<\/span><span class=\"nx\">data<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n    <span class=\"nx\">results<\/span><span class=\"p\">.<\/span><span class=\"nf\">push<\/span><span class=\"p\">(<\/span><span class=\"nx\">data<\/span><span class=\"p\">);<\/span>\n    <span class=\"k\">return<\/span> <span class=\"nf\">fetch<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">https:\/\/example.com?page=2<\/span><span class=\"dl\">'<\/span><span class=\"p\">);<\/span>\n  <span class=\"p\">})<\/span>\n  <span class=\"p\">.<\/span><span class=\"nf\">then<\/span><span class=\"p\">(<\/span><span class=\"nx\">response<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"nx\">response<\/span><span class=\"p\">.<\/span><span class=\"nf\">json<\/span><span class=\"p\">())<\/span>\n  <span class=\"p\">.<\/span><span class=\"nf\">then<\/span><span class=\"p\">(<\/span><span class=\"nx\">data<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n    <span class=\"nx\">results<\/span><span class=\"p\">.<\/span><span class=\"nf\">push<\/span><span class=\"p\">(<\/span><span class=\"nx\">data<\/span><span class=\"p\">);<\/span>\n    <span class=\"k\">return<\/span> <span class=\"nf\">fetch<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">https:\/\/example.com?page=3<\/span><span class=\"dl\">'<\/span><span class=\"p\">);<\/span>\n  <span class=\"p\">})<\/span>\n  <span class=\"p\">...<\/span>  \n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06cc\u0646 \u0627\u062d\u0645\u0642\u0627\u0646\u0647 \u0627\u0633\u062a \u0648 \u0647\u06cc\u0686\u06a9\u0633 \u0627\u06cc\u0646\u06af\u0648\u0646\u0647 \u06a9\u062f \u0646\u0645\u06cc \u0646\u0648\u06cc\u0633\u062f.  \u062a\u0635\u0648\u0631 \u06a9\u0646\u06cc\u062f \u0627\u06af\u0631 1000 \u0635\u0641\u062d\u0647 \u0648\u062c\u0648\u062f \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f \u0686\u0647 \u0645\u06cc \u0634\u0648\u062f\u061f  \u0627\u06cc\u0646 \u06cc\u06a9 \u0634\u0648\u062e\u06cc \u0627\u0633\u062a\u060c \u0627\u0645\u0627 \u0645\u062b\u0627\u0644 \u0628\u0627\u0644\u0627 \u0633\u0639\u06cc \u0645\u06cc \u06a9\u0646\u062f \u0627\u06cc\u0646 \u0627\u06cc\u062f\u0647 \u0631\u0627 \u0646\u0634\u0627\u0646 \u062f\u0647\u062f \u06a9\u0647 \u0686\u06af\u0648\u0646\u0647 \u0628\u0627\u06cc\u062f \u0642\u0628\u0644 \u0627\u0632 \u0627\u062f\u0627\u0645\u0647 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0628\u0639\u062f\u06cc \u0645\u0646\u062a\u0638\u0631 \u062a\u06a9\u0645\u06cc\u0644 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0642\u0628\u0644\u06cc \u0628\u0648\u062f.  <\/p>\n<p>Bluebird \u06cc\u06a9 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 Promise \u0628\u0633\u06cc\u0627\u0631 \u062e\u0648\u0628 \u0627\u0633\u062a \u06a9\u0647 \u0628\u0633\u06cc\u0627\u0631\u06cc \u0627\u0632 \u062a\u0648\u0627\u0628\u0639 \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u0631\u0627 \u0628\u0631\u0627\u06cc \u0633\u0647\u0648\u0644\u062a \u06a9\u0627\u0631 \u0628\u0627 \u062a\u0648\u0627\u0628\u0639 \u0646\u0627\u0647\u0645\u0632\u0645\u0627\u0646 \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u062f.  <\/p>\n<p>\u0645\u062b\u0627\u0644 \u0628\u0627\u0644\u0627 \u0631\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0628\u0627\u0632\u0646\u0648\u06cc\u0633\u06cc \u06a9\u0631\u062f <code>each<\/code> \u0639\u0645\u0644\u06a9\u0631\u062f \u0627\u0631\u0627\u0626\u0647 \u0634\u062f\u0647 \u062a\u0648\u0633\u0637 Bluebird.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"kd\">const<\/span> <span class=\"nx\">results<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[];<\/span>\n<span class=\"nb\">Promise<\/span><span class=\"p\">.<\/span><span class=\"nf\">each<\/span><span class=\"p\">([<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"mi\">2<\/span><span class=\"p\">,<\/span> <span class=\"mi\">3<\/span><span class=\"p\">,<\/span> <span class=\"mi\">4<\/span><span class=\"p\">,<\/span> <span class=\"mi\">5<\/span><span class=\"p\">],<\/span> <span class=\"p\">(<\/span><span class=\"nx\">i<\/span><span class=\"p\">)<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n  <span class=\"k\">return<\/span> <span class=\"nf\">fetch<\/span><span class=\"p\">(<\/span><span class=\"s2\">`https:\/\/example.com?page=<\/span><span class=\"p\">${<\/span><span class=\"nx\">i<\/span><span class=\"p\">}<\/span><span class=\"s2\">`<\/span><span class=\"p\">)<\/span>\n    <span class=\"p\">.<\/span><span class=\"nf\">then<\/span><span class=\"p\">(<\/span><span class=\"nx\">response<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"nx\">response<\/span><span class=\"p\">.<\/span><span class=\"nf\">json<\/span><span class=\"p\">())<\/span>\n    <span class=\"p\">.<\/span><span class=\"nf\">then<\/span><span class=\"p\">(<\/span><span class=\"nx\">data<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"nx\">results<\/span><span class=\"p\">.<\/span><span class=\"nf\">push<\/span><span class=\"p\">(<\/span><span class=\"nx\">data<\/span><span class=\"p\">));<\/span>\n<span class=\"p\">});<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"AsyncAwait_%E2%80%93_The_Missing_Piece_of_Promise%D8%9F\"><\/span>\n<p>  Async\/Await &#8211; The Missing Piece of Promise\u061f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 Promise \u0627\u0632 \u0633\u06cc\u0646\u062a\u06a9\u0633 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u0645 <code>new Promise<\/code>\u060c \u0627\u0645\u0627 \u0628\u0627 async\/wait\u060c \u0645\u0627 \u0628\u0647 \u0633\u0627\u062f\u06af\u06cc \u06cc\u06a9 \u0631\u0627 \u0627\u0639\u0644\u0627\u0645 \u0645\u06cc \u06a9\u0646\u06cc\u0645 <code>async<\/code> \u062a\u0627\u0628\u0639.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"k\">async<\/span> <span class=\"kd\">function<\/span> <span class=\"nf\">isEven<\/span><span class=\"p\">(<\/span><span class=\"nx\">x<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n  <span class=\"k\">if <\/span><span class=\"p\">(<\/span><span class=\"nx\">x<\/span> <span class=\"o\">%<\/span> <span class=\"mi\">2<\/span> <span class=\"o\">===<\/span> <span class=\"mi\">0<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">return<\/span> <span class=\"kc\">true<\/span><span class=\"p\">;<\/span>\n  <span class=\"p\">}<\/span> <span class=\"k\">else<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">throw<\/span> <span class=\"k\">new<\/span> <span class=\"nc\">Error<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">x is not even<\/span><span class=\"dl\">'<\/span><span class=\"p\">);<\/span>\n  <span class=\"p\">}<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062f\u0631 \u062d\u0627\u0644\u06cc \u06a9\u0647 Promise \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u062f <code>then<\/code> \u0628\u0631\u0627\u06cc \u0631\u0633\u06cc\u062f\u06af\u06cc \u0628\u0647 \u0646\u062a\u06cc\u062c\u0647 \u0628\u0627\u0632\u06af\u0634\u062a \u062f\u0631 \u0646\u0642\u0637\u0647 \u0627\u06cc \u062f\u0631 \u0622\u06cc\u0646\u062f\u0647\u060c async\/wait \u0628\u0647 \u0633\u0627\u062f\u06af\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0633\u062a <code>await<\/code>.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"kd\">const<\/span> <span class=\"nx\">result<\/span> <span class=\"o\">=<\/span> <span class=\"k\">await<\/span> <span class=\"nf\">fetch<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">https:\/\/example.com<\/span><span class=\"dl\">'<\/span><span class=\"p\">);<\/span>\n<span class=\"kd\">const<\/span> <span class=\"nx\">resultJSON<\/span> <span class=\"o\">=<\/span> <span class=\"k\">await<\/span> <span class=\"nx\">result<\/span><span class=\"p\">.<\/span><span class=\"nf\">json<\/span><span class=\"p\">();<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u0627 \u0634\u0631\u0648\u0639 \u0627\u0632 Node.js \u0646\u0633\u062e\u0647 14.8\u060c \u0645\u0627 \u0648\u06cc\u0698\u06af\u06cc \u0627\u0646\u062a\u0638\u0627\u0631 \u0633\u0637\u062d \u0628\u0627\u0644\u0627 \u0631\u0627 \u062f\u0627\u0631\u06cc\u0645\u060c \u0628\u0647 \u0627\u06cc\u0646 \u0645\u0639\u0646\u06cc <code>await<\/code> \u062a\u0645\u0627\u0633 \u0647\u0627 \u062f\u06cc\u06af\u0631 \u0645\u062d\u062f\u0648\u062f \u0628\u0647 \u062f\u0627\u062e\u0644 \u06cc\u06a9 \u0646\u0645\u06cc \u0628\u0627\u0634\u062f <code>async<\/code> \u062a\u0627\u0628\u0639\u061b  \u0622\u0646\u0647\u0627 \u0631\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646 \u062f\u0631 \u062e\u0627\u0631\u062c \u0646\u06cc\u0632 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0631\u062f.  \u0642\u0628\u0644 \u0627\u0632 \u0622\u0646\u060c <code>await<\/code> \u0641\u0642\u0637 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u062f\u0631 \u062f\u0627\u062e\u0644 \u06cc\u06a9 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0634\u0648\u062f <code>async<\/code> \u062a\u0627\u0628\u0639.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"k\">async<\/span> <span class=\"kd\">function<\/span> <span class=\"nf\">getData<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n    <span class=\"kd\">const<\/span> <span class=\"nx\">result<\/span> <span class=\"o\">=<\/span> <span class=\"k\">await<\/span> <span class=\"nf\">fetch<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">https:\/\/example.com<\/span><span class=\"dl\">'<\/span><span class=\"p\">);<\/span>\n    <span class=\"kd\">const<\/span> <span class=\"nx\">resultJSON<\/span> <span class=\"o\">=<\/span> <span class=\"k\">await<\/span> <span class=\"nx\">result<\/span><span class=\"p\">.<\/span><span class=\"nf\">json<\/span><span class=\"p\">();<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062f\u0631 \u062d\u0627\u0644\u06cc \u06a9\u0647 Promise \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u062f <code>.catch<\/code> \u0628\u0631\u0627\u06cc \u0631\u0633\u06cc\u062f\u06af\u06cc \u0628\u0647 \u062e\u0637\u0627\u0647\u0627\u060c \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0647\u0645\u06af\u0627\u0645 \u0633\u0627\u0632\u06cc\/\u0627\u0646\u062a\u0638\u0627\u0631 <code>try...catch<\/code>.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"k\">async<\/span> <span class=\"kd\">function<\/span> <span class=\"nf\">getData<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">try<\/span> <span class=\"p\">{<\/span>\n        <span class=\"kd\">const<\/span> <span class=\"nx\">result<\/span> <span class=\"o\">=<\/span> <span class=\"k\">await<\/span> <span class=\"nf\">fetch<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">https:\/\/example.com<\/span><span class=\"dl\">'<\/span><span class=\"p\">);<\/span>\n        <span class=\"kd\">const<\/span> <span class=\"nx\">resultJSON<\/span> <span class=\"o\">=<\/span> <span class=\"k\">await<\/span> <span class=\"nx\">result<\/span><span class=\"p\">.<\/span><span class=\"nf\">json<\/span><span class=\"p\">();<\/span>\n    <span class=\"p\">}<\/span> <span class=\"k\">catch <\/span><span class=\"p\">(<\/span><span class=\"nx\">err<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n        <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nf\">log<\/span><span class=\"p\">(<\/span><span class=\"nx\">err<\/span><span class=\"p\">);<\/span>\n    <span class=\"p\">}<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u062f\u06cc\u0647\u06cc \u0627\u0633\u062a \u06a9\u0647 async\/wait \u0628\u0647 \u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc\u200c\u062f\u0647\u062f \u062a\u0627 \u06a9\u062f\u0647\u0627\u06cc \u0646\u0627\u0647\u0645\u0632\u0645\u0627\u0646 \u0631\u0627 \u0628\u0647\u200c\u0635\u0648\u0631\u062a \u0647\u0645\u0632\u0645\u0627\u0646\u060c \u0628\u062f\u0648\u0646 \u062a\u0645\u0627\u0633 \u0648 \u0628\u062f\u0648\u0646 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u0646\u0648\u0634\u062a\u0646 \u0628\u0646\u0648\u06cc\u0633\u06cc\u0645. <code>then<\/code>.  \u0645\u0627 \u0628\u0647 \u0633\u0627\u062f\u06af\u06cc \u0645\u0646\u062a\u0638\u0631 \u0646\u062a\u06cc\u062c\u0647 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0647\u0633\u062a\u06cc\u0645 <code>await<\/code>.  <\/p>\n<p>\u0628\u0627 \u0627\u06cc\u0646 \u062d\u0627\u0644\u060c \u0627\u06cc\u0646 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0645\u0646\u062c\u0631 \u0628\u0647 \u0628\u0631\u062e\u06cc \u0633\u0648\u0621 \u062a\u0641\u0627\u0647\u0645\u0627\u062a \u062e\u0637\u0631\u0646\u0627\u06a9 \u0645\u0627\u0646\u0646\u062f \u0641\u0631\u0627\u0645\u0648\u0634\u06cc \u0634\u0648\u062f <code>await<\/code> \u06a9\u0644\u0645\u0647 \u06a9\u0644\u06cc\u062f\u06cc \u0628\u0631\u0627\u06cc \u0645\u0646\u062a\u0638\u0631 \u0646\u062a\u06cc\u062c\u0647 \u06cc\u06a9 \u0631\u0641\u062a\u0627\u0631 \u0646\u0627\u0647\u0645\u0632\u0645\u0627\u0646 \u06cc\u0627 \u0628\u0647 \u0627\u0634\u062a\u0628\u0627\u0647 \u0641\u06a9\u0631 \u06a9\u0631\u062f\u0646 \u06a9\u0647 \u06cc\u06a9 \u062a\u0627\u0628\u0639 \u0646\u0627\u0647\u0645\u0632\u0645\u0627\u0646 \u06cc\u06a9 \u062a\u0627\u0628\u0639 \u0647\u0645\u0632\u0645\u0627\u0646 \u0627\u0633\u062a.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"k\">async<\/span> <span class=\"kd\">function<\/span> <span class=\"nf\">getData<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">try<\/span> <span class=\"p\">{<\/span>\n        <span class=\"kd\">const<\/span> <span class=\"nx\">result<\/span> <span class=\"o\">=<\/span> <span class=\"k\">await<\/span> <span class=\"nf\">fetch<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">https:\/\/example.com<\/span><span class=\"dl\">'<\/span><span class=\"p\">);<\/span>\n        <span class=\"kd\">const<\/span> <span class=\"nx\">resultJSON<\/span> <span class=\"o\">=<\/span> <span class=\"k\">await<\/span> <span class=\"nx\">result<\/span><span class=\"p\">.<\/span><span class=\"nf\">json<\/span><span class=\"p\">();<\/span>\n        <span class=\"k\">return<\/span> <span class=\"nx\">resultJSON<\/span><span class=\"p\">;<\/span>\n    <span class=\"p\">}<\/span> <span class=\"k\">catch <\/span><span class=\"p\">(<\/span><span class=\"nx\">err<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n        <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nf\">log<\/span><span class=\"p\">(<\/span><span class=\"nx\">err<\/span><span class=\"p\">);<\/span>\n    <span class=\"p\">}<\/span>\n<span class=\"p\">}<\/span>\n\n<span class=\"kd\">function<\/span> <span class=\"nf\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n    <span class=\"kd\">const<\/span> <span class=\"nx\">data<\/span> <span class=\"o\">=<\/span> <span class=\"nf\">getData<\/span><span class=\"p\">();<\/span>\n    <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nf\">log<\/span><span class=\"p\">(<\/span><span class=\"nx\">data<\/span><span class=\"p\">);<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062f\u0631 \u0627\u0635\u0644\u060c <code>getData<\/code> \u06cc\u06a9 Promise \u0631\u0627 \u0628\u0631\u0645\u06cc \u06af\u0631\u062f\u0627\u0646\u062f\u060c \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0627\u06af\u0631 \u0642\u0635\u062f \u062f\u0631\u06cc\u0627\u0641\u062a \u062f\u0627\u062f\u0647 \u0627\u0632 \u06cc\u06a9 \u062a\u0645\u0627\u0633 API \u0628\u0627\u0634\u062f\u060c \u0628\u0631\u0646\u0627\u0645\u0647 \u0641\u0648\u0642 \u0628\u0647 \u062f\u0631\u0633\u062a\u06cc \u06a9\u0627\u0631 \u0646\u0645\u06cc \u06a9\u0646\u062f.  \u0628\u0631\u0627\u06cc \u0631\u0641\u0639 \u0627\u06cc\u0646 \u0645\u0634\u06a9\u0644\u060c \u0628\u0627\u06cc\u062f \u0622\u0646 \u0631\u0627 \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u0645.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"k\">async<\/span> <span class=\"kd\">function<\/span> <span class=\"nf\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n    <span class=\"kd\">const<\/span> <span class=\"nx\">data<\/span> <span class=\"o\">=<\/span> <span class=\"k\">await<\/span> <span class=\"nf\">getData<\/span><span class=\"p\">();<\/span>\n    <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nf\">log<\/span><span class=\"p\">(<\/span><span class=\"nx\">data<\/span><span class=\"p\">);<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"%D8%A8%D8%A7%D8%B2%DA%AF%D8%B4%D8%AA_%D8%AF%D8%B1_%D9%85%D9%82%D8%A7%D8%A8%D9%84_%D8%A8%D8%A7%D8%B2%DA%AF%D8%B4%D8%AA_%D8%AF%D8%B1_%D8%A7%D9%86%D8%AA%D8%B8%D8%A7%D8%B1\"><\/span>\n<p>  \u0628\u0627\u0632\u06af\u0634\u062a \u062f\u0631 \u0645\u0642\u0627\u0628\u0644 \u0628\u0627\u0632\u06af\u0634\u062a \u062f\u0631 \u0627\u0646\u062a\u0638\u0627\u0631<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u06af\u0627\u0647\u06cc \u0627\u0648\u0642\u0627\u062a \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0628\u0627 \u06a9\u062f\u06cc \u0645\u0648\u0627\u062c\u0647 \u0634\u0648\u06cc\u062f \u06a9\u0647 \u0628\u0647 \u0634\u06a9\u0644 \u0632\u06cc\u0631 \u0627\u0633\u062a:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"k\">async<\/span> <span class=\"kd\">function<\/span> <span class=\"nf\">fn<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n    <span class=\"p\">...<\/span>  \n    <span class=\"k\">return<\/span> <span class=\"k\">await<\/span> <span class=\"nf\">asyncFn<\/span><span class=\"p\">();<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u06a9\u0627\u0631\u06a9\u0631\u062f <code>fn<\/code> \u062f\u0631 \u062d\u0627\u0644 \u0628\u0627\u0632\u06af\u0634\u062a \u0627\u0633\u062a <code>await<\/code> \u0627\u0632 \u062a\u0627\u0628\u0639 \u0646\u0627\u0647\u0645\u0632\u0645\u0627\u0646 <code>asyncFn<\/code>.  \u0646\u0648\u06cc\u0633\u0646\u062f\u0647 \u0627\u062d\u062a\u0645\u0627\u0644\u0627 \u0628\u0631\u0627\u06cc <code>fn<\/code> \u062a\u0627 \u0647\u0645\u06cc\u0634\u0647 \u0646\u062a\u06cc\u062c\u0647 \u0631\u0627 \u0628\u0631\u06af\u0631\u062f\u0627\u0646\u06cc\u0645 <code>asyncFn<\/code>\u060c \u0645\u0627\u0646\u0646\u062f <code>await<\/code> \u0645\u0646\u062a\u0638\u0631 \u0646\u062a\u06cc\u062c\u0647 \u0639\u0645\u0644\u06a9\u0631\u062f \u0646\u0627\u0647\u0645\u0632\u0645\u0627\u0646 \u0627\u0633\u062a \u06a9\u0647 \u0628\u0647 \u0637\u0648\u0631 \u0645\u0648\u062b\u0631 \u0645\u06cc \u0686\u0631\u062e\u062f <code>fn<\/code> \u0628\u0647 \u06cc\u06a9 \u062a\u0627\u0628\u0639 \u0647\u0645\u0632\u0645\u0627\u0646\u060c \u06cc\u0627 \u0628\u0647 \u0639\u0628\u0627\u0631\u062a \u062f\u06cc\u06af\u0631\u060c &#8220;\u0639\u062f\u0645&#8221; \u0628\u0631\u06af\u0631\u062f\u0627\u0646\u062f\u0646 \u06cc\u06a9 Promise.  <\/p>\n<p>\u0645\u062a\u0623\u0633\u0641\u0627\u0646\u0647 \u0627\u06cc\u0646 \u06cc\u06a9 \u0633\u0648\u0621 \u062a\u0641\u0627\u0647\u0645 \u062e\u0637\u0631\u0646\u0627\u06a9 \u0627\u0633\u062a.  \u062f\u0631 \u0627\u0635\u0644\u060c <code>await<\/code> \u0641\u0642\u0637 \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u062f\u0631 \u0633\u0637\u062d \u0628\u0627\u0644\u0627 \u06cc\u0627 \u062f\u0627\u062e\u0644 \u06cc\u06a9 <code>async<\/code> \u0639\u0645\u0644\u06a9\u0631\u062f\u060c \u0648 \u0627\u06af\u0631 \u0622\u0646 \u0627\u0633\u062a <code>async<\/code>\u060c \u0628\u0627\u06cc\u062f \u06cc\u06a9 Promise \u0631\u0627 \u0628\u0631\u06af\u0631\u062f\u0627\u0646\u062f.  \u0627\u0632 \u0627\u06cc\u0646 \u0631\u0648\u060c <code>fn<\/code> \u0647\u0645\u06cc\u0634\u0647 \u06cc\u06a9 \u0648\u0639\u062f\u0647 \u0631\u0627 \u0628\u0631\u0645\u06cc \u06af\u0631\u062f\u0627\u0646\u062f.  \u067e\u0633 \u0686\u0631\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f <code>return await asyncFn()<\/code>?  <\/p>\n<p>\u0628\u0647 \u0633\u0627\u062f\u06af\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f <code>return asyncFn()<\/code> \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0634\u0645\u0627 \u0631\u0627 \u06a9\u0645\u06cc \u0627\u0632 \u0641\u0634\u0627\u0631 \u062f\u0627\u062f\u0646 \u06a9\u0644\u06cc\u062f \u0635\u0631\u0641\u0647 \u062c\u0648\u06cc\u06cc \u06a9\u0646\u062f\u060c \u0632\u06cc\u0631\u0627 \u062a\u0641\u0627\u0648\u062a \u0642\u0627\u0628\u0644 \u062a\u0648\u062c\u0647\u06cc \u062f\u0631 \u0645\u0642\u0627\u06cc\u0633\u0647 \u0628\u0627 \u0622\u0646 \u0648\u062c\u0648\u062f \u0646\u062f\u0627\u0631\u062f <code>return await asyncFn()<\/code>.  \u062a\u063a\u06cc\u06cc\u0631 \u0628\u0632\u0631\u06af \u0632\u0645\u0627\u0646\u06cc \u0627\u062a\u0641\u0627\u0642 \u0645\u06cc \u0627\u0641\u062a\u062f \u06a9\u0647 \u0648\u062c\u0648\u062f \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f <code>try...catch<\/code> \u06a9\u0647 \u062f\u0631 <code>return<\/code>.  <\/p>\n<p>\u0628\u06cc\u0627\u06cc\u06cc\u062f \u062f\u0648 \u062a\u0627\u0628\u0639 \u0632\u06cc\u0631 \u0631\u0627 \u062f\u0631 \u0646\u0638\u0631 \u0628\u06af\u06cc\u0631\u06cc\u0645:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"k\">async<\/span> <span class=\"kd\">function<\/span> <span class=\"nf\">rejectionWithReturnAwait<\/span> <span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n  <span class=\"k\">try<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">return<\/span> <span class=\"k\">await<\/span> <span class=\"nb\">Promise<\/span><span class=\"p\">.<\/span><span class=\"nf\">reject<\/span><span class=\"p\">(<\/span><span class=\"k\">new<\/span> <span class=\"nc\">Error<\/span><span class=\"p\">())<\/span>\n  <span class=\"p\">}<\/span> <span class=\"k\">catch <\/span><span class=\"p\">(<\/span><span class=\"nx\">e<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">return<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">Saved!<\/span><span class=\"dl\">'<\/span>\n  <span class=\"p\">}<\/span>\n<span class=\"p\">}<\/span>\n\n<span class=\"k\">async<\/span> <span class=\"kd\">function<\/span> <span class=\"nf\">rejectionWithReturn<\/span> <span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n  <span class=\"k\">try<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">return<\/span> <span class=\"nb\">Promise<\/span><span class=\"p\">.<\/span><span class=\"nf\">reject<\/span><span class=\"p\">(<\/span><span class=\"k\">new<\/span> <span class=\"nc\">Error<\/span><span class=\"p\">())<\/span>\n  <span class=\"p\">}<\/span> <span class=\"k\">catch <\/span><span class=\"p\">(<\/span><span class=\"nx\">e<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">return<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">Saved!<\/span><span class=\"dl\">'<\/span>\n  <span class=\"p\">}<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u0648\u0644\u06cc\u0646 \u062a\u0627\u0628\u0639\u060c <code>rejectionWithReturnAwait<\/code>\u060c \u0628\u0647 \u0639\u0645\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u062f <code>return await<\/code>\u0648 \u0647\u0646\u06af\u0627\u0645\u06cc \u06a9\u0647 \u0627\u06cc\u0646 \u0648\u0639\u062f\u0647 \u0631\u062f \u0634\u062f\u060c <code>catch<\/code> \u0628\u0644\u0648\u06a9 \u0628\u0647 \u0633\u0631\u0639\u062a \u062e\u0637\u0627 \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0631\u062f\u0647 \u0648 \u0627\u062c\u0631\u0627 \u0645\u06cc \u06a9\u0646\u062f <code>return 'Saved!'<\/code> \u0628\u06cc\u0627\u0646\u06cc\u0647.  \u0627\u06cc\u0646 \u0628\u062f\u0627\u0646 \u0645\u0639\u0646\u0627\u0633\u062a \u06a9\u0647 \u062a\u0627\u0628\u0639 \u06cc\u06a9 Promise \u062d\u0627\u0648\u06cc \u0631\u0634\u062a\u0647 &#8220;\u0630\u062e\u06cc\u0631\u0647 \u0634\u062f\u0647&#8221; \u0631\u0627 \u0628\u0631\u0645\u06cc \u06af\u0631\u062f\u0627\u0646\u062f.  <\/p>\n<p>\u0645\u062a\u0642\u0627\u0628\u0644\u0627\u060c <code>rejectionWithReturn<\/code>\u060c \u0628\u062f\u0648\u0646 <code>await<\/code>\u060c \u0633\u0639\u06cc \u062f\u0631 \u0631\u062f \u0627\u0644\u0641 \u062f\u0627\u0631\u062f <code>Promise.reject(new Error())<\/code>\u060c \u0648 <code>catch<\/code> \u0628\u0644\u0648\u06a9 \u0647\u0631\u06af\u0632 \u0627\u062c\u0631\u0627 \u0646\u0645\u06cc \u0634\u0648\u062f.  <\/p>\n<p>\u0645\u0646\u0627\u0628\u0639:<\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u0635\u062d\u0628\u062a \u0646\u06a9\u0631\u062f\u0646 \u062f\u0631 \u0645\u0648\u0631\u062f Promise \u062f\u0631 \u062c\u0627\u0648\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u06cc\u06a9 \u062d\u0630\u0641 \u0622\u0634\u06a9\u0627\u0631 \u0627\u0633\u062a. \u062f\u0631 \u0648\u0627\u0642\u0639\u060c \u0645\u0642\u0627\u0644\u0627\u062a \u0632\u06cc\u0627\u062f\u06cc \u062f\u0631 \u0645\u0648\u0631\u062f Promise \u0646\u0648\u0634\u062a\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a \u06a9\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0622\u0646\u0647\u0627 \u0631\u0627 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u06af\u0648\u06af\u0644 \u067e\u06cc\u062f\u0627 \u06a9\u0646\u06cc\u062f \u06cc\u0627 \u06af\u0647\u06af\u0627\u0647 \u062f\u0631 \u0627\u0646\u062c\u0645\u0646 \u0647\u0627\u06cc \u0645\u0631\u062a\u0628\u0637 \u0628\u0627 \u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633\u06cc \u0628\u0627 \u0622\u0646\u0647\u0627 \u0628\u0631\u062e\u0648\u0631\u062f \u06a9\u0646\u06cc\u062f. \u0627\u0645\u0627 \u0627\u0632 \u0622\u0646\u062c\u0627\u06cc\u06cc \u06a9\u0647 Promise \u06cc\u06a9 \u0645\u0641\u0647\u0648\u0645 \u0645\u0647\u0645 \u0627\u0633\u062a \u0648 &hellip;<\/p>\n","protected":false},"author":2,"featured_media":65843,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"https:\/\/media.dev.to\/cdn-cgi\/image\/width=1000,height=500,fit=cover,gravity=auto,format=auto\/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjumkux1qw8hw9ufsoswu.jpg","fifu_image_alt":"","footnotes":""},"categories":[339],"tags":[],"class_list":["post-65842","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/65842","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/comments?post=65842"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/65842\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/65843"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=65842"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=65842"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=65842"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}