new Promise(응용)3

new Promise & ajax 사용하기

 <script>
    (function(){
        var a, b, c;
        // Promise 정의1
        var fileA = function(){
            var pr = new Promise(function(resolve, reject){
                $.ajax('a.json').done(function(response){
                    resolve(response);
                }).fail(function(){
                    reject('파일 읽어오기 에러 메시지');
                });
            });
            return pr;
        }
        // Promise 정의2
        var fileB = function(){
            var pr = new Promise(function(resolve, reject){
                $.ajax('b.json').done(function(response){
                    resolve(response);
                }).fail(function(){
                    reject('파일 읽어오기 에러 메시지');
                });
            });
            return pr;
        }

        // Promise 정의3
        var fileC = function() {
            var pr = new Promise(function(resolve, reject){
                $.ajax('c.json').done(function(response){
                    resolve(response);
                }).fail(function(){
                    reject('파일 읽어오기 에러 메시지');
                });
            });
            return pr;
        }

        //위에서 정의한 내용이 Promise 수행이 되고 나서(then) 실행을 한다.
        fileA().then(function(data){
            a = data;
            console.log(a);             //response 값 출력
            return fileB();             //위에서 정의한 2번째 Promise를 의미한다.
        }).then(function(data){
            b = data;
            console.log(a[0].price + b[0].price);         //response 값 출력
            return fileC();             //위에서 정의한 3번째 Promise를 의미한다.
        }).then(function(data){
            c = data;
            console.log(a[0].price + b[0].price  + c[0].price );     //response 값 출력
        }).catch(function(error){
            console.log('then error : ', error);   // Error 출력
        });
    })();
</script>
4KB
Open
Promise

Last updated

Was this helpful?