是JavaScript中用于处理异步操作的一种机制。
异步操作,例如从服务器获取数据、读取文件、执行数据库查询等等。
经典使用:Axios 是一个基于Promise的HTTP客户端
Promise具有三个状态:
-
Pending(待定):Promise的初始状态,表示操作尚未完成,仍在进行中。
-
Fulfilled(已完成):表示操作成功完成,并返回了一个值。一旦Promise达到这个状态,它就会保持不变,不会再改变状态。
-
Rejected(已拒绝):表示操作失败或出现错误,并返回了一个原因(错误信息)。一旦Promise达到这个状态,它也会保持不变,不会再改变状态。
Promise提供了以下方法和特性:
-
then(onFulfilled, onRejected)
: 用于添加处理成功和失败情况的回调函数。onFulfilled
回调在Promise状态变为Fulfilled时执行,onRejected
回调在状态变为Rejected时执行。这两个回调都接收Promise的结果或原因作为参数。 -
catch(onRejected)
: 用于捕获Promise的Rejected异常状态,相当于then(null, onRejected)
。 -
finally(onFinally)
: 用于添加一个无论Promise状态如何都会执行的回调函数
// //修改权限请求
updateUserStatus(authority, userId) {
//开始发送修改请求
var url = `http://localhost:8080/qy/User/UpdateUserStatus/${authority}/${userId}`;
var config = {
headers: {
//配置请求表头防止后端接收不到data中的参数
"Content-Type": "application/json",
// 可以在这里添加其他的header配置
},
};
this.axios
.get(url, config)
.then((res) => {
console.log("修改成功", res);
})
.catch((rej) => {
//请求失败捕获
console.log(rej);
});
},