<button>发送一堆ajax</button>
------------------------------------------------------------------------- 
function sendMsg(url, callback) {
        var p = new Promise(function(resolve,reject){
                //包含整件事的执行
                var xhr = new XMLHttpRequest();
                xhr.open('get', url);
                xhr.onreadystatechange = function() {
                    if (xhr.readyState === 4 && xhr.status === 200) {    
                        //成功后的操作
                        alert(xhr.responseText);
                        //调用成功函数,其实就是做一个标记,存储起来,未来该对象.then就能执行
                        resolve('牛逼了');
                    }
                }
                xhr.send();
        });
        return p;//返回p对象外部then||catch
    }
    document.querySelector('button').onclick = function() {
            
         sendMsg('./1.json')
         .then(function(data){
            //成功后的回调函数
             // console.log('1.json请求完成,成功!!!',data);
             return sendMsg('./2.json');  
         })
         .then(function(data){
             return sendMsg('./3.json');  
         })
         .then(function(data){
             return sendMsg('./4.json');  
         })
         .then(function(data){
             return sendMsg('./1.json');  
         })
         .then(function(data){
             return sendMsg('./2.json');  
         })
         .then(function(data){
             return sendMsg('./3.json');  
         })
         .then(function(data){
             return sendMsg('./4.json');  
         })
         .then(function(data){
             console.log('结束了');
         })
         .catch(function(){ //一组promise对象,一个catch多个then
             //失败的回调函数
         });
    }