ES8 이것은 혁신이다.
약속을 소리쳐서 하는 시대가 끝이 났다.
이제 눈빛으로 약속을 지키는 시대가 온 것이다.
의문점 :
- Promise랑 다른 점이 있을까 열심히 공부한 프로미스는 더 이상 필요가 없어지는건가
시도 :
- 사실 프로미스에 대해서 여기 저기 정보를 많이 모아 정리를 했다. 아직 올리진 않았지만
얼큰한 짬뽕일지 아님 너무 막 집어넣어서 이상한 짬뽕일지 걱정이긴 하지만 어느정도 이론은 얼추
맞는것 같다. 그래서 이번 await도 열심히 뜯어봤다.
해결 :
- async await은 굉장한 툴이다. 하지만! 결국 promise를 바탕으로 하는 친구이고 안보이는 동작으로 settle as fulfilled/rejected 하고 promise값을 리턴한다. 우리가 전에 공부했던 내용들이랑 끼워 맞출 수 있었다. 결국! 새로운 기술을 이해하려면 근본적인 promise를 알아야 한다는점!!
결과 :
- 가독성면과 유지보수에서 promise .then() etc 는 굉장히 직관적인 모습이다 ( 여기 저 약속중이에요~ 저 약속해요 봐주세요~)
- async await 은 확실히 비동기적인 부분을 다른 sync한 친구들과 어색하지 않게 잘 스며든 모습을 볼수있다. 처음 async 선언때 promise 어그로를 끌지만 new Promise 만큼은 아니다 ㅎ
- 취향 차이도 있고 아직 async await .then( ) 같이 사용하는 경우도 많다고 한다.
async function fetchUserData(userId) {
const response = await fetch(`https://jsonplaceholder.typicode.com/users/${userId}`);
const user = await response.json();
return user;
}
fetchUserData(1)
.then(user => {
console.log(`User's name: ${user.name}`);
console.log(`User's email: ${user.email}`);
})
.catch(error => {
console.error(`Error fetching user data: ${error}`);
});
async await / promise 부분은 따로 상세설명을 위해 작업에 들어갔다.