//producer : resolve, reject
const promise = new Promise((resolve, reject) => {
console.log('안녕하세요');
setTimeout(() => {
//resolve('hyoco'); //기능을 수행해서 최종 데이터를 전달
reject(new Error('네트워크 연결 실패'));
//기능을 수행하다 문제가 생길 시 호출
}, 2000);
});
//consumers : then, catch, finally
promise
.then((value) => {
console.log(value); //resolve에서 받아온 값을 가져옴
})
.catch(error => {
console.log(error); //rejected에서 받아온 값을 가져옴
})
.finally(() => {
console.log('안녕히가세요');
//operation의 성공,실패없이 수행되며 마지막으로 수행하고 싶은 기능을 넣음
});
오늘 강의는 promise에 대한 내용들로 이뤄져 있었는데 처음 접하는 내용이라 굉장히 생소했다. 사실 강의를 밀리고 싶지 않은 마음에 꾸역꾸역 강의를 들었는데 이해가 쉽게 되지 않아 강의 듣는 것을 멈췄다. 그래서 오늘은 강의를 들었지만 강의 내용을 공부했다고 할 수 없어서 따로 공부한 promise에 대한 것들만 정리했다. 오늘 들은 강의는 다시 들은 후에 이해를 바탕으로 TIL을 작성할 계획이다.
공부한 내용도 아직 기초중에 기초이기 때문에 실무에서 어떤식으로 쓰일지 어떻게 활용하면 좋을지 잘 모르겠다. 무거운 작업들을 비동기적으로 처리할 수 있다는 점을 잘 생각해보면서 공부해야할 것 같다. 코드가 잘 수행되고 어떤 에러가 발생했는지를 알려주는 것은 편리한 기능이라는 생각이 들었다.