[ javascript ] callback to promise 콜백을 프로미스로 바꿔서 콜백지옥 벗어나자
페이지 정보
작성자 웹지기 댓글 0건 조회 4,163회 작성일 21-02-21 01:44본문
callback to promise 콜백을 프로미스로 바꿔서 콜백지옥 벗어나자
//콜백지옥 코드( 콜백 체인 )
//Callback Hell example
class UserStorage{
loginUser(id, password) {
return new Promise((resolve, reject) => {
setTimeout(()=>{
if(
(id === 'test' && password === 'dream') ||
(id === 'coder' && password === 'academy')
) {
resolve(id);
} else {
reject(new Error('not found'));
}
}, 2000);
});
}
getRoles(user) {
return new Promise((resolve, reject) => {
setTimeout(() => {
if(user === 'test') {
resolve({name:'test', role:'admin'});
} else {
reject(new Error('no access'));
}
}, 1000);
});
}
}
//1. 사용자에게 아이디 비밀번호 받아와서 로그인
//로그인이 성공이면 역할을 요청해서 받아온다.
//역할이 성공적으로 받아지면 object를 출력한다.
const userStorage = new UserStorage();
const id = prompt('enter you id');
const password = prompt('enter your password');
userStorage.loginUser(id, password)
.then(userStorage.getRoles)
.then(user => alert(`Hello ${user.name}, you have a ${user.role}`))
.catch(console.log);//오류발생시 console에
댓글목록
등록된 댓글이 없습니다.