일반적인 ajax 요청 과 promise 를 사용 한 ajax 요청

일반적인 ajax 요청:
    //      
    let xhr = new XMLHttpRequest();
    //          
    xhr.open('get',url);
    //    
    xhr.send();
    
    xhr.onreadystatechange = function(){
        if(xhr.readyState == 4 && xhr.status == 200){
            console.log(JSON.parse(xhr.responseText));        
        }
    }

promise 의 ajax 요청 사용:
    let getJSON = fucntion(url){
        let promise = new Promise(function(resolve,reject){
            let client = new XMLHttpRequest();
            client.open('get',url);
            client.onreadystatechange = handler;
            client.responseType = 'json';
            client.setRequestHeader('Accept','application/json');
            client.send();
            
            function handler(){
                if(this.readyState !== 4)return;
                if(this.status === 200){
                    resolve(this.response);
                }else{
                    reject(new Error(this.statusText));
                }
            }
        });
        return promise;
    }
    getJSON('url').then(function(){
        console.log('   :' + json);
    },function(){
        console.log('   ',err);
    })

좋은 웹페이지 즐겨찾기