1、promise是什么:是一个构造函数,通过new关键字构造出来了一个对象 这个对象的返回值是一个promise对象
2、promise做了什么:对一个异步操作的封装,操作的结果有三个 等待结果 、成功结果、失败结果
一个promise的状态只能从pending 转换为resolved 或者pending 转换为rejected,
3、promise解决了什么问题:解决了回调地狱的问题,代码的重复嵌套 会造成代码的可读性差 ,
function a() {
function b() {
function c() {
function d() {}
d();
}
c();
}
b();
}
a();
注意:promise的回调函数是同步代码,promise对象中封装的方法是异步代码 ,封装的方法有
then方法:then()方法是异步执行,then()前的方法执行完后再执行then()内部的程序,这样就避免了,数据没获取到等的问题。
语法:promise.then(onCompleted, onRejected);
参数
promise 必需。 Promise 对象。
onCompleted 必需。 承诺成功完成时要运行的履行处理程序函数。
onRejected 可选。 承诺被拒绝时要运行的错误处理程序函数。
catch方法:
用了处理当前的promise
对象最终的失败状态的情况,当调用then
方法