티스토리 뷰
반응형
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 |
반응형
'JavaScript' 카테고리의 다른 글
[JavaScript] IIFE 즉시 실행 함수 정리 (0) | 2022.03.08 |
---|---|
[JavaScript] this 한 번에 정리 (0) | 2022.03.08 |
[Javascript - ES6] Promise() then 여러 번 사용해보기 (0) | 2021.12.08 |
[Javascript - ES6] Promise()로 ajax 성공 체크 (0) | 2021.12.08 |
[Javascript - ES6] Promise()로 이미지 로딩 성공/실패 체크하기 (0) | 2021.12.08 |