PageSourceSearch

https://clud.me/assets/js/700ac6a9.85940a53.js

js clud.me collected 2026-10-09 04:16:06 UTC 8,409 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkclud_blog=self.webpackChunkclud_blog||[]).push([["5539"],{5173(e,n,t){t.r(n),t.d(n,{assets:()=>i,contentTitle:()=>c,default:()=>h,frontMatter:()=>r,metadata:()=>s,toc:()=>l});var s=t(3703),a=t(4848),o=t(8453);let r={title:"async-await",slug:"async-await",date:new Date("2017-04-17T00:00:00.000Z"),authors:["dongmyeong"],tags:["nodejs"],description:"Node.js\uB294 JavaScript\uB97C \uC0AC\uC6A9\uD558\uBA70 Non-block I/O, \uB2E8\uC77C \uC2A4\uB808\uB4DC \uC774\uBCA4\uD2B8 \uB8E8\uD504\uB97C \uC0AC\uC6A9\uD558\uC5EC \uB192\uC740 \uD37C\uD3EC\uBA3C\uC2A4\uB97C \uC790\uB791\uD558\uB294 \uC5B8\uC5B4\uC774\uB2E4."},c,i={authorsImageUrls:[void 0]},l=[{value:"async-await",id:"async-await",level:2},{value:"\uCC38\uACE0",id:"\uCC38\uACE0",level:3}];function d(e){let n={a:"a",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:["\n",(0,a.jsx)(n.h2,{id:"async-await",children:"async-await"}),"\n",(0,a.jsx)(n.p,{children:"Node.js\uB294 JavaScript\uB97C \uC0AC\uC6A9\uD558\uBA70 Non-block I/O, \uB2E8\uC77C \uC2A4\uB808\uB4DC \uC774\uBCA4\uD2B8 \uB8E8\uD504\uB97C \uC0AC\uC6A9\uD558\uC5EC \uB192\uC740 \uD37C\uD3EC\uBA3C\uC2A4\uB97C \uC790\uB791\uD558\uB294 \uC5B8\uC5B4\uC774\uB2E4."}),"\n",(0,a.jsx)(n.p,{children:"Node.js\uB85C \uBE44\uB3D9\uAE30\uC2DD \uCF54\uB4DC\uB97C \uC791\uC131\uD558\uBA74 \uC544\uB798\uC640 \uAC19\uC740 \uCF54\uB4DC\uAC00 \uB098\uC628\uB2E4"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-js",children:"request('http://naver.com', (error, response, body) => {\n    success(body)\n})\n"})}),"\n",(0,a.jsxs)(n.p,{children:["callback\uC774 \uC704\uC640 \uAC19\uC774 \uB2E8\uC21C\uD558\uB2E4\uBA74 \uD06C\uAC8C \uBB38\uC81C\uAC00 \uC5C6\uC73C\uBA70, \uC810\uC810 \uC694\uAD6C\uC0AC\uD56D\uC774 \uBCF5\uC7A1\uD574\uC9C0\uBA74\uC11C ",(0,a.jsx)(n.strong,{children:"Callback Hell"})," \uC774 \uC2DC\uC791\uB41C\uB2E4"]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-js",children:"request('http://naver.com', (error1, resp1, body1) => {\n    request('http://google.com', (error2, resp2, body2) => {\n        request('http://daum.net', (error3, resp3, body3) => {\n            success(body1, body2, body3)\n        })\n    })\n})\n"})}),"\n",(0,a.jsxs)(n.p,{children:["\uB2F9\uC7A5 \uC704\uC758 \uCF54\uB4DC\uB9CC \uBD10\uB3C4 \uAD49\uC7A5\uD788 \uB2F5\uB2F5\uD568\uC744 \uB290\uB084 \uC218 \uC788\uB2E4. \uC774\uB7EC\uD55C \uBB38\uC81C\uB4E4\uC744 \uD574\uACB0\uD558\uAE30 \uC704\uD574 \uB9CE\uC740 \uC6C0\uC9C1\uC784\uB4E4\uC774 \uC788\uC5C8\uACE0, 2014\uB144 \uCC28\uAE30 ES6 \uC790\uBC14\uC2A4\uD06C\uB9BD\uD2B8 \uADDC\uACA9\uC5D0 ",(0,a.jsx)(n.code,{children:"Promises/A+"})," \uC2A4\uD399\uC774 \uD655\uC815\uB418\uBA74\uC11C \uC5B4\uB290\uC815\uB3C4 \uD574\uACB0\uB418\uC5C8\uB2E4"]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-js",children:"Promise.all([\n    request('http://naver.com'),\n    request('http://google.com'),\n    request('http://daum.net')\n]).then(success, error)\n"})}),"\n",(0,a.jsx)(n.p,{children:"\uD558\uC9C0\uB9CC, \uB354 \uBCF5\uC7A1\uD55C \uB85C\uC9C1\uC758 \uC5B4\uD50C\uB9AC\uCF00\uC774\uC158\uC744 \uAC1C\uBC1C\uD558\uB2E4\uBCF4\uBA74 Promise \uB3C4 \uBCF5\uC7A1\uD574\uC838\uC11C \uCF54\uB4DC \uC77D\uAE30\uAC00 \uAD49\uC7A5\uD788 \uD798\uB4E4\uC5B4\uC9C0\uB294 \uC0C1\uD669\uC774 \uC654\uB2E4."}),"\n",(0,a.jsxs)(n.p,{children:["\uC774\uB7EC\uD55C \uC0C1\uD669\uC744 \uD574\uACB0\uD558\uAE30 \uC704\uD574 C# \uC5D0\uC11C \uBE44\uB3D9\uAE30 \uD1B5\uC2E0\uC744 \uAD6C\uD604\uD560 \uB54C \uC0AC\uC6A9\uD558\uB294 ",(0,a.jsx)(n.code,{children:"Async/Await"})," \uBB38\uBC95\uC744 JavaScript\uC5D0 \uB3C4\uC785\uD558\uAE30\uB85C \uD588\uACE0, Node.js 7.6+ \uBD80\uD130 \uC815\uC2DD\uC73C\uB85C \uC9C0\uC6D0\uD558\uACE0 \uC788\uB2E4."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-js",children:"async function doComplicateJob() {\n    const naver = await request('http://naver.com')\n    const google = await request('http://google.com')\n    const daum = await request('http://daum.net')\n    console.log(daum)\n    return {naver, google, daum}\n}\n\ndoComplicateJob().then(success, error)\n"})}),"\n",(0,a.jsxs)(n.p,{children:[(0,a.jsx)(n.code,{children:"async-await"}),"\uC758 \uBCF8\uC9C8\uC740 ",(0,a.jsx)(n.code,{children:"Promise"})," \uC774\uB2E4. async \uC9C0\uC2DC\uC790\uAC00 \uBD99\uC740 \uD568\uC218\uB294 \uBC18\uB4DC\uC2DC Promise\uB97C \uBC18\uD658\uD55C\uB2E4."]}),"\n",(0,a.jsxs)(n.p,{children:["\uB610\uD55C await \uC9C0\uC2DC\uC790\uAC00 \uBD99\uC740 Promise\uB294 ",(0,a.jsx)(n.code,{children:"<Pending>"})," \uC0C1\uD0DC\uC5D0\uC11C ",(0,a.jsx)(n.code,{children:"<Resolved>"})," \uD639\uC740 ",(0,a.jsx)(n.code,{children:"<Rejected>"})," \uB85C \uC0C1\uD0DC\uAC00 \uBCC0\uD654\uD560 \uB54C \uAE4C\u
1C9C0 \uAE30\uB2E4\uB824\uC900\uB2E4."]}),"\n",(0,a.jsxs)(n.p,{children:[(0,a.jsx)(n.code,{children:"async-await"}),"\uB97C \uC0AC\uC6A9\uD55C\uB2E4\uACE0 Synchronize \uB3D9\uC791\uD558\uB294\uAC83\uC740 \uC544\uB2C8\uC9C0\uB9CC, \uB9C8\uCE58 \uB3D9\uAE30\uC2DD \uCF54\uB4DC\uC778\uAC83\uCC98\uB7FC \uC77D\uC744 \uC218 \uC788\uAC8C \uB41C\uB2E4."]}),"\n",(0,a.jsxs)(n.p,{children:["\uC774\uC804\uC5D0 10\uC911 ",(0,a.jsx)(n.strong,{children:"Callback Hell"}),"\uC744 \uB9DB\uBCF4\uACE0 \uB098\uC11C, \uC5B4\uB5BB\uAC8C \uD574\uC57C \uAE54\uB054\uD558\uAC8C \uC791\uC131\uD560 \uC218 \uC788\uC744\uAE4C \uACE0\uBBFC\uD558\uACE0 \uC788\uC5C8\uB294\uB370 ",(0,a.jsx)(n.code,{children:"Promise"})," \uC640 ",(0,a.jsx)(n.code,{children:"async/await"}),"\uB97C \uC0AC\uC6A9\uD574\uBCF4\uB2C8 \uC774\uC804\uC5D0 \uBE44\uD574 \uD6E8\uC52C \uAE54\uB054\uD558\uAC8C \uC791\uC131\uD560 \uC218 \uC788\uAC8C \uB418\uC5C8\uB2E4."]}),"\n",(0,a.jsx)(n.h3,{id:"\uCC38\uACE0",children:"\uCC38\uACE0"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:(0,a.jsx)(n.a,{href:"http://tc39.github.io/ecmascript-asyncawait/",children:"http://tc39.github.io/ecmascript-asyncawait/"})}),"\n",(0,a.jsx)(n.li,{children:(0,a.jsx)(n.a,{href:"http://blog.naver.com/PostView.nhn?blogId=bitofsky&logNo=220850909832&categoryNo=0&parentCategoryNo=53&viewDate=&currentPage=1&postListTopCurrentPage=1&from=postView",children:"Javascript \uBE44\uB3D9\uAE30 Callback, Promise, Async/Await"})}),"\n"]})]})}function h(e={}){let{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},8453(e,n,t){t.d(n,{R:()=>r,x:()=>c});var s=t(6540);let a={},o=s.createContext(a);function r(e){let n=s.useContext(o);return s.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),s.createElement(o.Provider,{value:n},e.children)}},3703(e){e.exports=JSON.parse('{"permalink":"/blog/async-await","source":"@site/blog/2017-04-17-async-await/index.md","title":"async-await","description":"Node.js\uB294 JavaScript\uB97C \uC0AC\uC6A9\uD558\uBA70 Non-block I/O, \uB2E8\uC77C \uC2A4\uB808\uB4DC \uC774\uBCA4\uD2B8 \uB8E8\uD504\uB97C \uC0AC\uC6A9\uD558\uC5EC \uB192\uC740 \uD37C\uD3EC\uBA3C\uC2A4\uB97C \uC790\uB791\uD558\uB294 \uC5B8\uC5B4\uC774\uB2E4.","date":"2017-04-17T00:00:00.000Z","tags":[{"inline":false,"label":"Node.js","permalink":"/blog/tags/nodejs"}],"readingTime":0.98,"hasTruncateMarker":true,"authors":[{"name":"\uC11C\uB3D9\uBA85","title":"Backend Engineer \xb7 Engineering Leader","url":"https://clud.me","socials":{"github":"https://github.com/claudeseo","linkedin":"https://www.linkedin.com/in/dongmyeong-seo-19703a110/"},"imageURL":"https://github.com/claudeseo.png","key":"dongmyeong","page":null}],"frontMatter":{"title":"async-await","slug":"async-await","date":"2017-04-17T00:00:00.000Z","authors":["dongmyeong"],"tags":["nodejs"],"description":"Node.js\uB294 JavaScript\uB97C \uC0AC\uC6A9\uD558\uBA70 Non-block I/O, \uB2E8\uC77C \uC2A4\uB808\uB4DC \uC774\uBCA4\uD2B8 \uB8E8\uD504\uB97C \uC0AC\uC6A9\uD558\uC5EC \uB192\uC740 \uD37C\uD3EC\uBA3C\uC2A4\uB97C \uC790\uB791\uD558\uB294 \uC5B8\uC5B4\uC774\uB2E4."},"unlisted":false,"prevItem":{"title":"Vuetiful Korea (Vue.js \uD55C\uAD6D\uC5B4 \uC0AC\uC6A9\uC790 \uBAA8\uC784) 1\uD68C \uBAA8\uC784","permalink":"/blog/vuetiful-korea-1"},"nextItem":{"title":"Webpack","permalink":"/blog/webpack"}}')}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.