callback to promise
2021. 5. 24. 21:57ㆍTIL/자바스크립트
728x90
// Callback Hell example
class UserStorage {
loginUser(id, password) {
return new Promise((resolve, reject) => {
setTimeout(()=> {
if (
(id === 'bella' && 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 === 'bella') {
resolve({name: 'bella', role: 'admin'});
} else {
reject(new Error('no access'));
}
}, 1000);
});
}
}
const userStorage = new UserStorage();
const id = prompt('enter you id');
const password = prompt('enter you password');
userStorage
.loginUser(id, password)
.then(userStorage.getRoles)
.then(user => alert(`Hello ${user.name}, you have a ${user.role} role`))
.catch(console.log);
'TIL > 자바스크립트' 카테고리의 다른 글
로그인 화면 만들기 (0) | 2021.06.17 |
---|---|
async & await (0) | 2021.05.27 |
Promise (0) | 2021.05.24 |
비동기처리 콜백 (0) | 2021.05.20 |
JSON (0) | 2021.05.20 |