반응형
일반 함수를 Promise로 변환하는 여러가지가 있지만,
모두 새로운 Promise 객체를 반환하고 resolve및 reject 콜백을 사용하여 성공 사례와 실패 사례를 각각 처리해야 합니다.
# function
function add(a, b) {
return new Promise((resolve, reject) => {
if (a && b) {
resolve(a + b);
} else {
reject(new Error('Invalid arguments'));
}
});
}
이 예제에서 add 함수는 new Promise를 반환하는 일반 함수로 정의됩니다.
콜백은 인수(a와 b)의 합계를 반환하는 resolve와 콜백의 인수가 유효하지 않은 경우 오류를 반환하는 reject가 있습니다.
# Arrow Function
const add = (a, b) => {
return new Promise((resolve, reject) => {
if (a && b) {
resolve(a + b);
} else {
reject(new Error('Invalid arguments'));
}
});
}
일반 함수와 동일하지만 new Promise를 반환하는것을 화살표 함수로 정의하는 방법.
# const function = new Promise
const add = new Promise((resolve, reject) => {
return (a, b) => {
if (a && b) {
resolve(a + b);
} else {
reject(new Error('Invalid arguments'));
}
};
});
이것도 첫 번째와 비슷하지만 여기에서는 Promise 객체를 상수로 선언하고 인수를 받는 함수를 Promise 내부에 정의합니다.
Promise를 사용할 때 명심해야 할 핵심 사항은 함수가 Promise 객체를 반환 해야 하고,
성공과 실패를 처리하기 위해 각각 resolve 및 reject 콜백을 사용해야 한다는 것입니다.
반응형