스파르타코딩클럽 내일배움캠프 Node.js 입문주차 강의를 들으며 공부한 것을 적은것입니다.
❓ 동기, 비동기와 다른점?
- 제어권을 넘기면 (Non-Blocking) 다른 코드도 실행될 수 있으므로 비동기 처리가 가능
- 제어권을 넘기지 않으면 (Blocking) 비동기 처리가 가능한 환경이어도 비동기 처리가 불가능
new Promise(executor);
new Promise((resorve, reject) => {
// 명령문
// 정상적이면 resorve, 실패했을때 reject
});
const resolvePromise = new Promise((resorve, reject) => {
setTimeout(() => {
console.log('First');
resolve('Resolve!');
}, 1000);
});
resolvePromise.then((data) => {
console.log('Middle');
console.log('Last');
console.log(data);
})
const errorPromise = new Promise((resolve, reject) => {
setTimeout(() => {
console.log('First');
reject('Error!!');
}, 1000);
});
errorPromise.then(() => {
console.log('Middle');
console.log('Last');
}).catch((error) => {
console.log('에러 발생!', error);
});