Javascript

[Javascript] 비동기 처리 async, await

mm_스터디 2024. 5. 26. 15:45
728x90



async

 

 

함수 앞에 붙이는 키워드로 함수를 비동기 함수로 만들어줌(함수가 프로미스를 반환하도록 변환해 줌)

 

function me() {
  return {
    name: "mm_스터디",
   country: "대한민국",
  };
}
console.log(me()); 

→결괏값:{name: 'mm_스터디', country: '대한민국'}

 

같은 함수에 async 붙이면

 

async function me() {
  return {
    name: "mm_스터디",
   country: "대한민국",
  };
}
console.log(me()); 

→결괏값

     [[Prototype]]: Promise
    [[PromiseState]]: "fulfilled"
   [[PromiseResult]]:Object

 

 

 

 

await

 

 

async 함수 내부에서만 사용이 가능한 키워드
비동기 함수가 다 처리되기를 기다리는 역할

 

기존에는 me를 사용하려면

 

function printMe() {
  me().then((result) => {
     console.log(result);
   });
}

 

then 메서드를 이용해 콜백함수를 썼어야만 했지만

 

async와 await을 이용해서

 

 

async function printMe() {
  const data = await me();
  console.log(data);
}
printMe();

 

처럼 간단하게 표현 가능

 

 

 

728x90