[ javascript ] callback to promise 콜백을 프로미스로 바꿔서 콜백지옥 벗어나자 > javascript&jQuery

본문 바로가기

사이트 내 전체검색

javascript&jQuery

[ javascript ] callback to promise 콜백을 프로미스로 바꿔서 콜백지옥 벗어나자

작성일 21-02-21 01:44

페이지 정보

작성자 웹지기 조회 3,001회 댓글 0건

본문

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에



추천0

비추천 0

댓글목록

등록된 댓글이 없습니다.

전체 63건 1 페이지

이미지 목록

게시물 검색
Copyright © 즐거운 코딩 생활 ( funyphp ). All rights reserved.
PC 버전으로 보기