Async & Await

박영호·2021년 4월 6일
0

async & await

async와 await는 자바스크립트의 비동기 처리 패턴 중 가장 최근에 나온 문법이며 기존의 비동기 처리 방식인 콜백 함수와 프로미스의 단점을 보완하고 개발자가 읽기 좋은 코드를 작성할 수 있게 도와준다.

Promise 대비 장점

  • 코드가 간결해지며 가독성이 높아진다
  • 응답 데이터로 들어오는 변수(data, response)를 없앨 수 있다.
  • try / catch로 에러를 핸들링할 수 있다.
  • error가 어디서 발생했는지 알기 쉽다.

async

  • async 함수는 Promise를 리턴한다.
async function test() {
	return "test"
}

result = test() // Promise { <resolved> : "test" }

async & await는 비동기 함수를 처리하기 위해 사용하며 비동기 처리가 없는 일반적인 함수에 async를 붙이면 리턴해주는 값은 resolve로 감싼 Promise를 리턴해준다.

await

  • await는 resolve로 리턴해주는 값을 꺼낸다.
async function test() {
    return "test";
}

async function main() {
   let promise = test(); // Promise {<resolved>: "test"}
   let value = await test(); // "test"
}

async 함수를 실행하면 Promise객체가 리턴되며 await키워드를 사용하면 내부의 값을 리턴한다

profile
무언가에 호기심이 생기면 적극적이고 재밌게 그걸 해결해내고 싶어하는 프론트 엔드 개발자 입니다 .

0개의 댓글