JS 는 Promise 방식 으로 리 셋 함수 의 리 턴 값 을 가 져 옵 니 다.

        function A(params, callback){
            callback(params+1)
        }
        function B(num1){
            A(num1, (num)=>{
                return num;
            });
        }
        let a = 3;
        let num = B(a);
        console.log(num)   //undefined

위의 코드, B 함 수 는 A 함 수 를 호출 했 습 니 다. A 함 수 는 하나의 매개 변수 와 하나의 반전 함 수 를 받 았 습 니 다. A 의 반전 함 수 는 num 을 되 돌려 주 었 지만 외층 console 의 num 은 undefined 입 니 다.
한 가지 방법 은 후속 적 인 조작 을 모두 A 의 반전 함수 에 넣 는 것 이다.
        function A(params, callback){
            callback(params+1)
        }
        function B(num1){
            A(num1, (num)=>{
                console.log(num)  //4
            return num;
            });
        }
        let a = 3;
        let num = B(a);
        //console.log(num)

그런데 이렇게 하면 B 함수 가 다시 사용 하기 어려워 요.
Promise 로 돌아 가 는 방법 도 취 할 수 있어 요.
        function A(params, callback){
            callback(params+1)
        }
        function B(num1){
            return new Promise((resolve, reject)=>{
                        A(num1, (num)=>{
                            console.log(num) //4
                            resolve(num)
                        })
                    })
            
        }
        let a = 3;
        let num = B(a).then((data)=>{
            console.log(data)    //4
        });   

좋은 웹페이지 즐겨찾기