[ javascript ]/JavaScript
Promise
고베베
2019. 11. 16. 17:56
생성자를 통해서 promise를 만들 수 있다,
파라미터로 excutor라는 함수를 받는다.
excutor 함수는 resolve와 reject함수를 인자로 받는다.
new Promise((resolve, reject) => {});
생성자 함수로 promise 객체를 만드는 순간 pending상태가 된다.
resolve함수가 실행되면 fulfilled 상태
reject함수가 실행되면 reject상태
사용방법1
const p = new Promise((resolve, reject) => {
setTimeout(() => {
resolve();
}, 1000);
});
p.then(() => {
console.log('1000ms 후에 fulfilled가 실행됩니다.');
});
사용방법2
then을 설정하는 시점을 정확히 하고, 함수의 실행과 동시에 프로미스 객체를 만들면서 pending이 시작하도록 하기 위해 프로미스 객체를 생성하면서 리턴하는 함수를 만들어 사용한다.
function p() => {
return new Promise((resolve, reject) => {
setTimeout(() => {
reject();
}, 1000);
})
}
p()
.then(() => {
console.log('1000ms 후에 fulfilled가 실행됩니다.');
})
.catch(() => {
console.log('1000ms 후에 rejected가 실행됩니다.');
});
promise가 없을 경우 비동기 처리
콜백패턴. 그래서 promise chaning 기법이 우수하다는 소리..
promise.all
promise.racr