// Promise
- 최종 값이나 작동 여부에 대한 약속
~ then()을 이용해서 request 성공 시 이후 작업을 처리할 수 있다.
~ catch()를 이용해서 request 실패 시 작업을 처리할 수 있다.
- then 콜백에서는 Promise를 반환할 수 있다.
//request
.then(() => {
//성공 시 작업
return 새로운 reques
})
.then(() => {
//새로운 request 성공 시 작업
})
.catch(() => {
//새로운 request 실패 시 작업
})
// 새 Promise 작성법 (몰라도 되지만 알면 좋다)
- new Promise()를 선언하고 () 안에 함수를 전달한다.
- 전달되는 함수에는 resolve, reject 라는 매개변수가 있다.
> 이름이 바뀌어도 되지만 보통 이렇게 사용한다.
- 전달되는 함수 안에 resolve() 메소드를 선언하여 성공 처리를 하고 성공 시 응답을 () 안에 전달한다.
- 전달되는 함수 안에 reject() 메소드를 선언하여 실패 처리를 하고 실패 시 응답을 () 안에 전달한다.
const fakeRequest = url => {
return new Promise((resolve, reject) => {
const rand = Math.random();
setTimeout(() => {
if (rand < 0.7) {
resolve('DONE WITH REQUEST!');
} else {
reject('REQUEST ERROR');
}
}, 1000);
});
};
fakeRequest('/dogs/1')
.then(response => {
console.log(response);
})
.catch(error => {
console.log(error);
});
'클라이언트 > JavaScript' 카테고리의 다른 글
[자바스크립트(JavaScript)] API, Ajax (4) | 2023.11.27 |
---|---|
[자바스크립트(JavaScript)] 비동기 함수(Async Functions) (0) | 2023.11.24 |
[자바스크립트(JavaScript)] 콜 스택(Call Stack) (0) | 2023.11.23 |
[자바스크립트(JavaScript)] 구조 분해 할당(Destructuring assignment) (2) | 2023.11.22 |
[자바스크립트(JavaScript)] Rest 매개변수 (0) | 2023.11.22 |