티스토리 뷰

반응형

ES8에 소개된 async와 await를 사용하여 기존 Promise, then보다 더욱 깔끔하게 코드를 작성할 수 있게 되었다.

 

 

 

 

 

 

 

1. 기존 Promise() 방식

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
const $img = document.querySelector('#img');
 
const promise = new Promise((resolve, reject) => {
  $img.addEventListener('load'function() { 
    resolve(); 
  });
  $img.addEventListener('error'function() { 
    reject(); 
  });
})
 
promise.then((result) => {
  console.log("성공!")
}).catch(() => {
  console.log("실패!");
})
cs

 

 

 

 

 

2. async, await 방식

async를 함수 앞에 붙이면 await가 then 기능을 대신할 수 있다. try와 catch를 사용하면 실패 시 에러가 나서 모든 코드가 멈추는 현상을 방지할 수 있다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
const $img = document.querySelector('#img');
 
async function imgCheck() {
  const promise = new Promise((resolve, reject) => {
    $img.addEventListener('load'function() { 
      resolve(); 
    });
    $img.addEventListener('error'function() { 
      reject(); 
    });
  })
  
  try {
    let result = await promise;
    console.log("성공!" result);
  } catch {
    console.log("실패!")
  }
  
}
 
imgCheck();
 
 
cs

 

 

 

 

반응형
반응형
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/01   »
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