-
Notifications
You must be signed in to change notification settings - Fork 0
/
91fa47cb.bdab5b2d.js
1 lines (1 loc) · 38.8 KB
/
91fa47cb.bdab5b2d.js
1
(window.webpackJsonp=window.webpackJsonp||[]).push([[61],{118:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return l})),r.d(t,"rightToc",(function(){return b})),r.d(t,"default",(function(){return i}));var n=r(2),a=r(6),o=(r(0),r(173)),c={id:"javascript27",title:"\u041e\u0442\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0435 \u0438 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f",sidebar_label:"Promise"},l={unversionedId:"javascript27",id:"javascript27",isDocsHomePage:!1,title:"\u041e\u0442\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0435 \u0438 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f",description:"Promise(\u041e\u0431\u0435\u0449\u0430\u043d\u0438\u0435)\u200a\u2014\u200a\u044d\u0442\u043e \u043e\u0431\u044a\u0435\u043a\u0442 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0431\u0443\u0434\u0443\u0449\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0441\u043b\u0438 \u0432\u044b \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442\u0435 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u043f\u0440\u043e\u043c\u0438\u0441 \u043e\u0431\u0435\u0449\u0430\u0435\u0442 \u043d\u0430\u043c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u044d\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u0441\u043c\u043e\u0436\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u0431\u0443\u0434\u0443\u0449\u0435\u043c.",source:"@site/docs/javascript27.md",slug:"/javascript27",permalink:"/docs/javascript27",editUrl:"https://github.com/facebook/docusaurus/edit/master/website/docs/javascript27.md",version:"current",sidebar_label:"Promise"},b=[{value:"\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u043c\u0438\u0441\u0430",id:"\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435-\u043f\u0440\u043e\u043c\u0438\u0441\u0430",children:[]},{value:"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u043c\u0438\u0441\u0430",id:"\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435-\u043f\u0440\u043e\u043c\u0438\u0441\u0430",children:[{value:"then",id:"then",children:[]},{value:"catch",id:"catch",children:[]},{value:"promise.all",id:"promiseall",children:[]},{value:"promise.race",id:"promiserace",children:[]}]},{value:"\u0412\u043e\u043f\u0440\u043e\u0441\u044b:",id:"\u0432\u043e\u043f\u0440\u043e\u0441\u044b",children:[]},{value:"\u0421\u0441\u044b\u043b\u043a\u0438:",id:"\u0441\u0441\u044b\u043b\u043a\u0438",children:[]},{value:"Contributors \u2728",id:"contributors-",children:[]}],s={rightToc:b};function i(e){var t=e.components,c=Object(a.a)(e,["components"]);return Object(o.b)("wrapper",Object(n.a)({},s,c,{components:t,mdxType:"MDXLayout"}),Object(o.b)("p",null,"Promise(\u041e\u0431\u0435\u0449\u0430\u043d\u0438\u0435)\u200a\u2014\u200a\u044d\u0442\u043e \u043e\u0431\u044a\u0435\u043a\u0442 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0431\u0443\u0434\u0443\u0449\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0441\u043b\u0438 \u0432\u044b \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442\u0435 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u043f\u0440\u043e\u043c\u0438\u0441 \u043e\u0431\u0435\u0449\u0430\u0435\u0442 \u043d\u0430\u043c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u044d\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u0441\u043c\u043e\u0436\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u0431\u0443\u0434\u0443\u0449\u0435\u043c."),Object(o.b)("p",null,"\u0412\u043d\u0430\u0447\u0430\u043b\u0435 \u043f\u0440\u043e\u043c\u0438\u0441 \u0438\u043c\u0435\u0435\u0442 \u0441\u0442\u0430\u0442\u0443\u0441 pending (\xab\u043e\u0436\u0438\u0434\u0430\u043d\u0438\u0435\xbb), \u0437\u0430\u0442\u0435\u043c \u2013 \u043e\u0434\u043d\u043e \u0438\u0437: fulfilled (\xab\u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043e \u0443\u0441\u043f\u0435\u0448\u043d\u043e\xbb) \u0438\u043b\u0438 rejected (\xab\u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043e \u0441 \u043e\u0448\u0438\u0431\u043a\u043e\u0439\xbb)."),Object(o.b)("p",null,Object(o.b)("img",{alt:"promise states",src:r(410).default})),Object(o.b)("ol",null,Object(o.b)("li",{parentName:"ol"},"Pending\u200a\u2014\u200a\u041f\u0440\u043e\u043c\u0438\u0441 \u043e\u0436\u0438\u0434\u0430\u0435\u0442, \u0435\u0441\u043b\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043d\u0435 \u0433\u043e\u0442\u043e\u0432. \u0422\u043e \u0435\u0441\u0442\u044c, \u043e\u0436\u0438\u0434\u0430\u0435\u0442 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435 \u0447\u0435\u0433\u043e-\u043b\u0438\u0431\u043e (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438)."),Object(o.b)("li",{parentName:"ol"},"Fulfilled\u200a\u2014\u200a\u041f\u0440\u043e\u043c\u0438\u0441 \u0440\u0435\u0448\u0435\u043d, \u0435\u0441\u043b\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d. \u0422\u043e \u0435\u0441\u0442\u044c, \u0447\u0442\u043e-\u0442\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u043b\u043e \u0441\u0432\u043e\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435(\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u0430\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f) \u0438 \u0432\u0441\u0435 \u043f\u0440\u043e\u0448\u043b\u043e \u0443\u0441\u043f\u0435\u0448\u043d\u043e."),Object(o.b)("li",{parentName:"ol"},"Rejected\u200a\u2014\u200a\u041f\u0440\u043e\u043c\u0438c \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d, \u0435\u0441\u043b\u0438 \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0430 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f.")),Object(o.b)("h2",{id:"\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435-\u043f\u0440\u043e\u043c\u0438\u0441\u0430"},"\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u043c\u0438\u0441\u0430"),Object(o.b)("p",null,"\u041e\u0431\u044a\u0435\u043a\u0442 Promise \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0433\u043e \u0441\u043b\u043e\u0432\u0430 new \u0438 \u0441\u0432\u043e\u0435\u0433\u043e \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0430.\n\u041a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440 \u041f\u0440\u043e\u043c\u0438\u0441\u043e\u0432 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u043e\u0434\u0438\u043d \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442, \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u0439 \u0432\u044b\u0437\u043e\u0432, \u0442\u0430\u043a\u0436\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u043a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 2 \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u0445 \u0432\u044b\u0437\u043e\u0432\u0430, resolve \u0438 reject."),Object(o.b)("p",null,"\u0418\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0441\u0440\u0430\u0437\u0443 \u0436\u0435 \u043f\u043e\u0441\u043b\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u043c\u0438\u0441\u0430. \u041f\u0440\u043e\u043c\u0438\u0441 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u044b\u043c \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0432\u044b\u0437\u043e\u0432\u0430 resolve(), \u0430 \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u043d\u044b\u043c \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 reject()."),Object(o.b)("pre",null,Object(o.b)("code",Object(n.a)({parentName:"pre"},{className:"language-jsx"}),"const promise = new Promise((resolve, reject) => {\n if (allWentWell) {\n resolve('\u0412\u0441\u0435 \u043f\u0440\u043e\u0448\u043b\u043e \u043e\u0442\u043b\u0438\u0447\u043d\u043e!')\n } else {\n reject('\u0427\u0442\u043e-\u0442\u043e \u043f\u043e\u0448\u043b\u043e \u043d\u0435 \u0442\u0430\u043a')\n }\n})\n")),Object(o.b)("p",null,"resolve() \u0438 reject() \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442 \u043e\u0434\u0438\u043d \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u043e\u0439, \u0447\u0438\u0441\u043b\u043e\u043c, \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435\u043c, \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u043c \u0438\u043b\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u043c."),Object(o.b)("p",null,"\u0427\u0442\u043e\u0431\u044b \u0441\u043d\u0430\u0431\u0434\u0438\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043e\u043c \u043e\u0431\u0435\u0449\u0430\u043d\u0438\u0439, \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0432 \u043d\u0435\u0439 \u043e\u0431\u044a\u0435\u043a\u0442 Promise:"),Object(o.b)("pre",null,Object(o.b)("code",Object(n.a)({parentName:"pre"},{className:"language-jsx"}),"function myAsyncFunction(url) {\n return new Promise((resolve, reject) => {\n //\u043a\u043e\u0434 \u0444\u0443\u043d\u043a\u0446\u0438\u0438\n })\n}\n")),Object(o.b)("h2",{id:"\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435-\u043f\u0440\u043e\u043c\u0438\u0441\u0430"},"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u043c\u0438\u0441\u0430"),Object(o.b)("p",null,"\u041f\u0440\u043e\u043c\u0438\u0441\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 then() \u0438 catch()."),Object(o.b)("h3",{id:"then"},"then"),Object(o.b)("p",null,"\u041c\u0435\u0442\u043e\u0434 then \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043f\u0440\u0438 \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u043c \u0438 \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043f\u0440\u043e\u043c\u0438\u0441\u0430."),Object(o.b)("p",null,"\u0421\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u043c\u0435\u0442\u043e\u0434\u0430 then:"),Object(o.b)("pre",null,Object(o.b)("code",Object(n.a)({parentName:"pre"},{className:"language-jsx"}),"promise.then(\n function (result) {\n /* \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 */\n },\n function (error) {\n /* \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043e\u0448\u0438\u0431\u043a\u0443 */\n }\n)\n")),Object(o.b)("p",null,"\u041f\u0435\u0440\u0432\u044b\u0439 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 \u043c\u0435\u0442\u043e\u0434\u0430 .then \u2013 \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f, \u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u043e\u043c\u0438\u0441 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442 \u0432 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \xab\u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d \u0443\u0441\u043f\u0435\u0448\u043d\u043e\xbb, \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442."),Object(o.b)("p",null,"\u0412\u0442\u043e\u0440\u043e\u0439 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 .then \u2013 \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f, \u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u043e\u043c\u0438\u0441 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442 \u0432 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \xab\u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d \u0441 \u043e\u0448\u0438\u0431\u043a\u043e\u0439\xbb, \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u043e\u0448\u0438\u0431\u043a\u0443."),Object(o.b)("p",null,"\u041f\u0440\u0438\u043c\u0435\u0440 \u043c\u0435\u0442\u043e\u0434\u0430 then:"),Object(o.b)("pre",null,Object(o.b)("code",Object(n.a)({parentName:"pre"},{className:"language-jsx"}),"let promise = new Promise(function (resolve, reject) {\n setTimeout(() => resolve('done!'), 1000)\n})\n\n// resolve \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442 \u043f\u0435\u0440\u0432\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u0443\u044e \u0432 .then\npromise.then(\n (result) => alert(result), // \u0432\u044b\u0432\u0435\u0434\u0435\u0442 \"done!\" \u0447\u0435\u0440\u0435\u0437 \u043e\u0434\u043d\u0443 \u0441\u0435\u043a\u0443\u043d\u0434\u0443\n (error) => alert(error) // \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u0430\n)\n")),Object(o.b)("p",null,"\u0410 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 \u0432 \u043f\u0440\u043e\u043c\u0438\u0441\u0435 \u2013 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0441\u044f \u0432\u0442\u043e\u0440\u0430\u044f:"),Object(o.b)("pre",null,Object(o.b)("code",Object(n.a)({parentName:"pre"},{className:"language-jsx"}),"let promise = new Promise(function (resolve, reject) {\n setTimeout(() => reject(new Error('Whoops!')), 1000)\n})\n\n// reject \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442 \u0432\u0442\u043e\u0440\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u0443\u044e \u0432 .then\npromise.then(\n (result) => alert(result), // \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u0430\n (error) => alert(error) // \u0432\u044b\u0432\u0435\u0434\u0435\u0442 \"Error: Whoops!\" \u0441\u043f\u0443\u0441\u0442\u044f \u043e\u0434\u043d\u0443 \u0441\u0435\u043a\u0443\u043d\u0434\u0443\n)\n")),Object(o.b)("p",null,"\u0415\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0433\u043e \u0432\u044b\u043f\u043e\u043b\u0435\u043d\u0438\u044f, \u0442\u043e \u0432 then \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e:"),Object(o.b)("pre",null,Object(o.b)("code",Object(n.a)({parentName:"pre"},{className:"language-jsx"}),"let promise = new Promise((resolve) => {\n setTimeout(() => resolve('done!'), 1000)\n})\n\npromise.then(alert) // \u0432\u044b\u0432\u0435\u0434\u0435\u0442 \"done!\" \u0441\u043f\u0443\u0441\u0442\u044f \u043e\u0434\u043d\u0443 \u0441\u0435\u043a\u0443\u043d\u0434\u0443\n")),Object(o.b)("h3",{id:"catch"},"catch"),Object(o.b)("p",null,"\u0414\u043b\u044f \u043e\u0442\u043b\u043e\u0432\u0430 \u043e\u0448\u0438\u0431\u043e\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043c\u0435\u0442\u043e\u0434 catch. \u0415\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u043c\u0435\u0441\u0442\u043e \u043c\u0435\u0442\u043e\u0434\u0430 then \u0434\u043b\u044f \u0432\u044b\u0432\u043e\u0434\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u043e\u0431 \u043e\u0448\u0438\u0431\u043a\u0435."),Object(o.b)("p",null,"\u0421\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u043c\u0435\u0442\u043e\u0434\u0430 catch:"),Object(o.b)("pre",null,Object(o.b)("code",Object(n.a)({parentName:"pre"},{className:"language-jsx"}),"let promise = new Promise((resolve, reject) => {\n setTimeout(() => reject(new Error('\u041e\u0448\u0438\u0431\u043a\u0430!')), 1000)\n})\n\npromise.catch(alert) // \u0432\u044b\u0432\u0435\u0434\u0435\u0442 \"Error: \u041e\u0448\u0438\u0431\u043a\u0430!\" \u0441\u043f\u0443\u0441\u0442\u044f \u043e\u0434\u043d\u0443 \u0441\u0435\u043a\u0443\u043d\u0434\u0443\n")),Object(o.b)("h3",{id:"promiseall"},"promise.all"),Object(o.b)("p",null,"\u042d\u0442\u043e\u0442 \u043c\u0435\u0442\u043e\u0434 \u0431\u0435\u0440\u0435\u0442 \u043c\u0430\u0441\u0441\u0438\u0432 \u043f\u0440\u043e\u043c\u0438\u0441\u043e\u0432 \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043d\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u043c\u0438\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u044b\u043c, \u043a\u043e\u0433\u0434\u0430 \u0432\u0441\u0435 \u043f\u0440\u043e\u043c\u0438\u0441\u044b \u0432\u043d\u0443\u0442\u0440\u0438 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u044b \u0438\u043b\u0438 \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d, \u043a\u0430\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u043c\u0438\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0442\u043a\u043b\u043e\u043d\u044f\u0435\u0442\u0441\u044f."),Object(o.b)("p",null,"\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:"),Object(o.b)("pre",null,Object(o.b)("code",Object(n.a)({parentName:"pre"},{className:"language-jsx"}),"const promise1 = new Promise((resolve, reject) => {\n setTimeout(() => {\n resolve('Promise1 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d')\n }, 2000)\n})\nconst promise2 = new Promise((resolve, reject) => {\n setTimeout(() => {\n resolve('Promise2 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d')\n }, 1500)\n})\nPromise.all([promise1, promise2])\n .then((data) => console.log(data[0], data[1]))\n .catch((error) => console.log(error))\n")),Object(o.b)("p",null,"\u0417\u0434\u0435\u0441\u044c \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u043c \u0432\u043d\u0443\u0442\u0440\u0438 then() \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u0435\u0442 \u043c\u0430\u0441\u0441\u0438\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u043c\u0438\u0441\u043e\u0432 \u0432 \u0442\u043e\u043c \u0436\u0435 \u043f\u043e\u0440\u044f\u0434\u043a\u0435, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043e\u043d\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u043b\u0438\u0441\u044c \u0432 Promise.all()."),Object(o.b)("h3",{id:"promiserace"},"promise.race"),Object(o.b)("p",null,"\u042d\u0442\u043e\u0442 \u043c\u0435\u0442\u043e\u0434 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u043c\u0430\u0441\u0441\u0438\u0432 \u043f\u0440\u043e\u043c\u0438\u0441\u043e\u0432 \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043e\u0434\u0438\u043d \u043d\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u043c\u0438\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u044b\u043c, \u043a\u0430\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u0441\u0442\u0440\u0435\u0442\u0438\u0442\u0441\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u043c\u0438\u0441 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435 \u0438\u043b\u0438 \u0436\u0435 \u043e\u0442\u043a\u043b\u043e\u043d\u044f\u0435\u0442\u0441\u044f, \u0435\u0441\u043b\u0438 \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u043c\u0438\u0441 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u0442\u0441\u044f \u0440\u0430\u043d\u044c\u0448\u0435."),Object(o.b)("p",null,"\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:"),Object(o.b)("pre",null,Object(o.b)("code",Object(n.a)({parentName:"pre"},{className:"language-jsx"}),"const promise1 = new Promise((resolve, reject) => {\n setTimeout(() => {\n resolve('Promise1 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d')\n }, 1000)\n})\nconst promise2 = new Promise((resolve, reject) => {\n setTimeout(() => {\n reject('Promise2 \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d')\n }, 1500)\n})\nPromise.race([promise1, promise2])\n .then((data) => console.log(data)) // Promise1 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\n .catch((error) => console.log(error))\n")),Object(o.b)("p",null,"\u0422\u0443\u0442 \u043c\u044b \u0438\u043c\u0435\u0435\u043c \u0434\u0432\u0430 \u043f\u0440\u043e\u043c\u0438\u0441\u0430, \u0433\u0434\u0435 \u043e\u0434\u0438\u043d \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 1 \u0441\u0435\u043a\u0443\u043d\u0434\u0443, \u0430 \u0434\u0440\u0443\u0433\u043e\u0439 \u043e\u0442\u043a\u043b\u043e\u043d\u044f\u0435\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 1.5 \u0441\u0435\u043a\u0443\u043d\u0434\u044b. \u041a\u0430\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0435\u0440\u0432\u044b\u0439 \u043f\u0440\u043e\u043c\u0438\u0441 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0435\u043d\u043d\u044b\u0439 \u0438\u0437 Promise.race() \u043f\u0440\u043e\u043c\u0438\u0441 \u0431\u0443\u0434\u0435\u0442 \u0438\u043c\u0435\u0442\u044c \u0441\u0442\u0430\u0442\u0443\u0441 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u043e\u0433\u043e \u043d\u0435 \u0434\u043e\u0436\u0438\u0434\u0430\u044f\u0441\u044c \u0441\u0442\u0430\u0442\u0443\u0441\u0430 \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u043f\u0440\u043e\u043c\u0438\u0441\u0430."),Object(o.b)("p",null,"\u0417\u0434\u0435\u0441\u044c data, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442\u0441\u044f \u0432 then() \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c \u043f\u0435\u0440\u0432\u043e\u0433\u043e, \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u043e\u0433\u043e, \u043f\u0440\u043e\u043c\u0438\u0441\u0430."),Object(o.b)("p",null,"\u041f\u043e \u0438\u0442\u043e\u0433\u0443, Promise.race() \u0434\u043e\u0436\u0438\u0434\u0430\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u043c\u0438\u0441\u0430 \u0438 \u0431\u0435\u0440\u0435\u0442 \u0435\u0433\u043e \u0441\u0442\u0430\u0442\u0443\u0441 \u043a\u0430\u043a \u0441\u0442\u0430\u0442\u0443\u0441 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u043e\u0433\u043e \u043f\u0440\u043e\u043c\u0438\u0441\u0430."),Object(o.b)("h2",{id:"\u0432\u043e\u043f\u0440\u043e\u0441\u044b"},"\u0412\u043e\u043f\u0440\u043e\u0441\u044b:"),Object(o.b)("p",null,"\u0414\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043d\u044f\u0442\u044c, \u043d\u0430 \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u044b \u0443\u0441\u0432\u043e\u0438\u043b\u0438 \u044d\u0442\u043e\u0442 \u0443\u0440\u043e\u043a, \u043f\u0440\u043e\u0439\u0434\u0438\u0442\u0435 \u0442\u0435\u0441\u0442 \u0432 ",Object(o.b)("a",Object(n.a)({parentName:"p"},{href:"http://onelink.to/njhc95"}),"\u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438")," \u043d\u0430\u0448\u0435\u0439 \u0448\u043a\u043e\u043b\u044b \u043f\u043e \u044d\u0442\u043e\u0439 \u0442\u0435\u043c\u0435."),Object(o.b)("p",null,Object(o.b)("img",{alt:"Sumerian school",src:r(175).default})),Object(o.b)("h2",{id:"\u0441\u0441\u044b\u043b\u043a\u0438"},"\u0421\u0441\u044b\u043b\u043a\u0438:"),Object(o.b)("ol",null,Object(o.b)("li",{parentName:"ol"},Object(o.b)("a",Object(n.a)({parentName:"li"},{href:"https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Promise"}),"MDN web docs")),Object(o.b)("li",{parentName:"ol"},Object(o.b)("a",Object(n.a)({parentName:"li"},{href:"https://learn.javascript.ru/promise"}),"Learn JavaScript")),Object(o.b)("li",{parentName:"ol"},Object(o.b)("a",Object(n.a)({parentName:"li"},{href:"https://blog.bitsrc.io/understanding-promises-in-javascript-c5248de9ff8f?gi=1e459ca846d9"}),"Understanding Promises"))),Object(o.b)("h2",{id:"contributors-"},"Contributors \u2728"),Object(o.b)("p",null,"Thanks goes to these wonderful people (",Object(o.b)("a",Object(n.a)({parentName:"p"},{href:"https://allcontributors.org/docs/en/emoji-key"}),"emoji key"),"):"),Object(o.b)("table",null,Object(o.b)("tr",null,Object(o.b)("td",{align:"center"},Object(o.b)("a",{href:"https://github.com/FELiX-RN"},Object(o.b)("img",{src:"https://avatars0.githubusercontent.com/u/72006627?v=4?s=200",width:"200px;",alt:""}),Object(o.b)("br",null),Object(o.b)("sub",null,Object(o.b)("b",null,"Philipp Dvinyaninov"))),Object(o.b)("br",null),Object(o.b)("a",{href:"https://github.com/gHashTag/react-native-village/commits?author=FELiX-RN",title:"Documentation"},"\ud83d\udcd6")),Object(o.b)("td",{align:"center"},Object(o.b)("a",{href:"https://fullstackserverless.github.io/"},Object(o.b)("img",{src:"https://avatars0.githubusercontent.com/u/6774813?v=4?s=200",width:"200px;",alt:""}),Object(o.b)("br",null),Object(o.b)("sub",null,Object(o.b)("b",null,"Dmitriy Vasilev"))),Object(o.b)("br",null),Object(o.b)("a",{href:"#financial-gHashTag",title:"Financial"},"\ud83d\udcb5")))),Object(o.b)("p",null,Object(o.b)("a",Object(n.a)({parentName:"p"},{href:"https://www.patreon.com/bePatron?u=31769291"}),Object(o.b)("img",{alt:"Become a Patron!",src:r(174).default}))))}i.isMDXComponent=!0},173:function(e,t,r){"use strict";r.d(t,"a",(function(){return A})),r.d(t,"b",(function(){return j}));var n=r(0),a=r.n(n);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?c(Object(r),!0).forEach((function(t){o(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):c(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function b(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var s=a.a.createContext({}),i=function(e){var t=a.a.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},A=function(e){var t=i(e.components);return a.a.createElement(s.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},p=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,s=b(e,["components","mdxType","originalType","parentName"]),A=i(r),p=n,j=A["".concat(c,".").concat(p)]||A[p]||u[p]||o;return r?a.a.createElement(j,l(l({ref:t},s),{},{components:r})):a.a.createElement(j,l({ref:t},s))}));function j(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,c=new Array(o);c[0]=p;var l={};for(var b in t)hasOwnProperty.call(t,b)&&(l[b]=t[b]);l.originalType=e,l.mdxType="string"==typeof e?e:n,c[1]=l;for(var s=2;s<o;s++)c[s]=r[s];return a.a.createElement.apply(null,c)}return a.a.createElement.apply(null,r)}p.displayName="MDXCreateElement"},174:function(e,t,r){"use strict";r.r(t),t.default=r.p+"assets/images/patreon-15b4e66595efdb2e079faf18b89cff7c.png"},175:function(e,t,r){"use strict";r.r(t),t.default=r.p+"assets/images/app-b1ad811d205d35252340669e9e1f7545.png"},410:function(e,t,r){"use strict";r.r(t),t.default="data:image/png;base64,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"}}]);