promise
//pending 进行中
//Resolved 已完成
//Rejected 失败
//promise 代表一个异步操作
// window.onload = function(){
// //Pormise 构造函数接受一个函数作为参数,函数里两个参数分别为resolve, reject方法
// //如果异步操作成功,则用resolve 将promise状态从【未完成】变为【成功】
// //....失败, reject 【为完成】变为【失败】
// function Async(){
// setTimeout(function(){
// console.log('异步操作执行完成');
// },2000);
// }
// var promise = new Promise(function(resolve, reject){
// Async();
// });
// promise.then(function(value){
// //success
// }, function(){
// //failure
// })
// }
function AsyncFn(){
var p = new Promise(function(resolve, reject){
setTimeout(function(){
console.log('异步操作成功');
resolve('测试');
},2000)
})
return p;
}
function AsyncFn1(){
var p = new Promise(function(resolve, reject){
setTimeout(function(){
console.log('异步操作成功1');
resolve('测试1');
},2000)
})
return p;
}
function AsyncFn2(){
var p = new Promise(function(resolve, reject){
setTimeout(function(){
console.log('异步操作成功2');
resolve('测试2');
},2000)
})
return p;
}
AsyncFn().then(function(data){
console.log(data);
return AsyncFn1();
}).then(function(data){
console.log(data);
return AsyncFn2();
}).then(function(data){
console.log(data)
})
// Promise.all([AsyncFn(), AsyncFn1(), AsyncFn2()]).then(function(results){
// console.log(results);
// })