Asynchronous JavaScript(비동기 자바스크립트)
🔗 JavaScript Promises와 JavaScript Async / Await을 보고 정리한 내용입니다.
1. Promise
콜백 방식과 비슷하지만,
then과catch를 사용하여 더 간결하게 표현할 수 있다.
let p = new Promise((resolve, reject) => {
let a = 1 + 1;
if(a === 2) {
// resolve
resolve("Success");
} else {
// reject
reject("Failed");
}
})
// resolve
p.then((message) => {
console.log("This is in the then " + message);
// reject
}).catch((message) => {
console.log("This in in the catch " + message);
})
// This is in the then Success비동기 데이터 처리와 같이 백그라운드에서 시간이 걸리는 작업에 Promise를 사용할 수 있다.
Promise는 계속 중첩되는 콜백 방식의 단점(콜백 지옥)을 해결할 수 있다.
1️⃣ Callback
2️⃣ Promise
Promise 이용하기
항상
resolve하는 다수의Promise의 경우Promise.all: 모든Promise가 완료된 후 호출
Promise.race: 첫번째Promise가 완료되자마자 호출
2. Async/ Await
Async/ Await은 Promise를 더 편리하게(동기적으로) 사용하기 위해 만들어진 문법적인 설탕
1️⃣ Promise
2️⃣ Async/ Await
🔑 Async/ Await 유의점
항상 코드를 함수로 감싸고 함수 앞에
async키워드를 추가한다.비동기 코드 앞에
await키워드 사용하여Promise의 결과를 반환한다.
Last updated