<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
//失败的回调函数
});
}