티스토리 뷰
es7에 도입된 async await은 es6의 Promise를 좀 더 편리한 방식으로 사용하기 위해 탄생했다.
Async
async function f() {
return 1;
}
함수 앞에 async 키워드를 붙인다는건 이 함수가 항상 Promise를 리턴한다고 표시하는것이다. async 함수 내부에서 Promise를 명시적으로 리턴하지 않았음에도 자동으로 아래 코드로 변경된다.
async function f() {
return Promise.resolve(1);
}
즉, 1이라는 값으로 resolved된 Promise가 리턴된다.
Promise가 리턴되므로 우리는 이 async 함수를 then으로 체이닝할 수 있다.
async function f() {
return 1;
}
f().then(alert); // 1
async키워드는 함수가 Promise를 리턴하도록 보장하는 키워드이며, 설령 내부에서 Promise가 리턴되지 않더라도 강제로 Promise로 만든 다음 리턴시킨다.
'Javascript' 카테고리의 다른 글
how to detect element size change in javascript (0) | 2020.06.15 |
---|---|
ES6의 Bare Import란? (1) | 2020.06.09 |
함수가 AsyncFunction인지 알아보는 방법 (0) | 2020.05.14 |
Promise와 콜백 패턴의 가장 큰 차이 (0) | 2020.05.14 |
es6의 Generator와 es7의 Async/Await (0) | 2020.05.14 |
댓글
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Polyfill
- useRef
- atomic design
- computed
- promise
- reducer
- await
- design system
- react hooks
- reactdom
- reflow
- return type
- rendering scope
- useEffect
- javascript
- Babel
- storybook
- server side rendering
- es6
- typescript
- Next.js
- async
- webpack
- mobx
- props
- type alias
- react
- Action
- hydrate
- state
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함