ES6学习—Promise对象
Promise对象:代表了未来某个将要发生的事情(通常是一个异步操作)
有了Promise对象,可以将异步操作以同步的流程表达出来,避免了层层嵌套的回调函数(俗称’回调地狱’)
ES6的Promise是一个构造函数,用来生成promise实例
1.promise的三种状态
pending:初始化状态
fullfilled:成功状态
rejected:失败状态
2.应用
用promise实现超时处理
用promise封装处理ajax请求
3.例子
1.成功
var promise = new Promise( (resolve, reject) =>{
console.log(111);
setTimeout(() -=>{
console.log(222);
resoLve('成功数据');
},1000)
});
console.log(333);
promise.then((data) =>{
console.log('成功了',data);
return data;
},() =>{
console.log('失败了');
}).then((res) =>{
console.log(res);
},()=>{
console.log( '失败');
})
2.失败
var promise = new Promise((resolve, reject)=>{
console.log(111
setTimeout(()=>{
console.log(222);
reject('请求失败');
},1000
});
console.log(333);
promise.then((data)=>{
console.log('成功了',data);
return data;
},(err)=>{
console.log('失败了',err)
}).then((res)=>{
console.log(res);
},()=>{
console.log('失败');
})