아래 글은 <한입 크기로 잘라 먹는 리액트> 강의를 참고한 내용입니다.
한입 크기로 잘라 먹는 리액트(React.js)
function one(){
return 1;
}
function two(){
return one() + 1;
}
function three(){
return two() + 1;
}
console.log(three());
function asyncAdd(a, b, cb){
setTimeout(()=>{
const res = a + b;
cb(res);
}, 3000);
}
asyncAdd(1, 3, (res) => {
console.log("결과: ", res);
})
promise는 비동기 작업의 결과 값을 반환하는 객체이다. 최종 결과가 아닌, 미래의 어떤 시점에 결과를 제공하겠다는 '약속'을 반환한다.
function isPositiveP(num) {
const executor = (resolve, reject) => {
setTimeout(() => {
if (typeof num === "number") {
//성공 -> resolve
resolve(num >= 0 ? "양수" : "음수");
} else {
//실패 -> reject
reject("주어진 값이 숫자형이 아닙니다.");
}
}, 2000);
};
const asyncTask = new Promise(executor);
}
const result = isPositiveP(101);
result
.then((res) => {
console.log("작업성공: ", res);
})
.catch((err) => {
console.log("작업실패: ", err);
});
참고문헌
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Promise