什么是promise?
是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);});},