promise初认识
程序员文章站
2022-07-02 22:32:19
...
promise的定义
代表了未来某个将要发生的事件(通常是一个异步操作)
promise是一个对象,对象和函数的区别就是对象可以**保存状态**,函数不可以(闭包除外)
promise作用
这个东西本质上就是为了解决回调地狱而出现的,作用就是解决回调地狱。
原理: 可以将异步操作以同步的流程表达出来 , 可以将异步操作队列化,按照期望的顺序执行,返回符合预期的结果。可以在对象之间传递和操作promise,帮助我们处理队列
回调地狱:(是指写的代码层次过多的时候,比如做ajax的时候需要根据上一步的数据逐步请求数据的时候,若是单纯的使用回调函数则会造成反复的嵌套,从而使得很难进行二次维护和解读)
promise对象
有三个状态:
- 初始化状态(等待状态):pending
- 成功状态:fullfilled
- 失败状态:rejected
promise的使用方式
//resolve -->解决问题 --->事情异步成功完成
//reject ---> 拒绝 --->事情异步操作失败
//首先创建一个新的promise对象(起始状态为pending)
var p1 = new Promise(function(resolve,reject){
//开始执行异步操作
if(true){
resolve("数据请求完成")
//请求成功的时候promise状态会变为fullfilled
}else{
reject("数据请求失败")
//请求失败的时候promise状态会变为rejected
}
})
console.log(p1)
//resolve,reject这两个函数都是可以向.then传递参数的
p1.then(function(res){
//如果执行成功则会直接调用这里的代码
console.log(res)
},function(err){
//如果执行成功则会直接调用这里的代码
console.log(err)
})
p1.catch(function(err){
console.log("catch:",err)
})
//finally没有参数
p1.finally(function(res){
console.log("finally:",res)
})
上一篇: 关于promise的认识
下一篇: 解除电脑网速限制