1、理解
1、Promise是一个对象(构造函数),用来处理异步问题;Promise有三种状态:Pending(进行中)、 Resolved(已完成)、Rejected(已失败)。只有异步操作的结果,可以决定当前是哪一种状态;
Promise函数接收一个回调函数作为参数,这个回调函数有两个参数,resolve、reject,也是函数;我们一般使用会根据异步执行的结果来手动去调用resolve或reject函数,这两个函数都可以接收参数;
2、Promise使用过程,我们可以将它划分成三个状态:
- 待定(pending): 初始状态,既没有被兑现,也没有被拒绝;当初始调用时,处于该状态;
- 已兑现(fulfilled): 意味着操作成功完成;执行了resolve时,处于该状态;
- 已拒绝(rejected): 意味着操作失败;执行了reject时,处于该状态;
2、基本写法
const p = new Promise((resolve, reject) => {
if (Math.random() >= 0.5) {
resolve("正确");
} else {
reject("错误");
}
});
p.then(
res => {
console.log(res);
},
err => { // 捕获错误
console.log("err", err);
}
)
.catch(err => { // 若then方法第二个参数未写,那么可由catch捕获错误
console.log("catch", err);
})
.finally(() => { // 操作完成会调用次回调函数 不接受参数
console.log("finally");
});
1123

被折叠的 条评论
为什么被折叠?



