promise:异步变成同步的过程 异步编程解决方案 解决回调地狱
名字由来:承诺:只有异步操作结果(pending/fulfilled/rejected)才能决定当前状态,其他操作无法改变。
- 为什么需要promise
- promise实例状态
- 如何使用promise
- promise的状态切换
- 实例方法 静态方法
1.为什么需要promise
promise:异步变成同步的过程 异步编程解决方案 解决回调地狱
使用场景:定时器,阿贾克斯请求等 可以用promise 改造
2.promise实例状态
- pending 等待中 (默认)
- fulfilled 成功态实例
- rejected 拒绝态实例
状态一旦确定,无法再改变:pending➡️fulfilled / pending➡️rejected
3.如何使用promise
promise函数接受resolve,reject 两个参数。
resolve:改变状态,异步操作成功时调用,并把结果作为参数传递出去。
reject反过来,同时把异步操作的曝出的错误作为参数传递出去。
状态改变之后,then方法接受两个状态的回调函数作为参数。分别对应。
//代码展示
4.then的实例方法:返回新的promise实例,因此可以采用链式调用。
catch方法:失败时
finally方法:最终都会执行。