普通的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);
    })

你可能感兴趣的:(前端,javascript,es6)