Promise的作用:
在js中主要是解决回调地狱
什么是回调地狱?
回调地狱就是我们异步任务中嵌套异步任务一层一层的,导致我们的代码臃肿,而promise链式调用解决这种代码问题。
什么时候使用Promise:
一般有异步操作时,使用Promise对这个异步进行封装。
异步操作后的三种状态:
- Pending:等待状态。
- Fulfill:满足状态,主动调用resolve,就处于该状态。
- Reject:拒绝状态。调用reject时,就处于该状态。
ES6封装好的Promise
var p = new Promise(function(success,error){
setTimeout(() => {
success();
}, Math.random()*1000)
setTimeout(() => {
error();
}, Math.random()*1000)
});
p.then(function(res){
console.log("成功")
},function(res){
console.log("失败")
})