err => { return Promise.reject(err); });
时间: 2024-01-04 21:02:44 浏览: 25
这段代码是一个 Promise 函数中的错误处理部分。当 Promise 函数中发生错误时,会执行该部分代码,并将错误信息作为参数传入。这段代码的作用是将错误信息包装成一个 Promise 对象并返回,以便后续处理。具体来说,它使用 Promise.reject() 方法将错误信息包装成一个被拒绝的 Promise 对象并返回。
相关问题
axios.interceptors.request.use( config => { config.cancelToken = source.token // 全局添加cancelToken return config }, err => { return Promise.reject(err) } )加lodading效果
你可以在 axios 请求的拦截器中添加 loading 效果,具体操作如下:
1. 在发起请求前,定义一个全局变量,用于控制 loading 是否显示:
```
let loading = null;
```
2. 在请求拦截器中,显示 loading:
```
axios.interceptors.request.use(
config => {
// 显示loading
loading = ElementUI.Loading.service({});
config.cancelToken = source.token; // 全局添加cancelToken
return config;
},
err => {
return Promise.reject(err);
}
);
```
3. 在响应拦截器中,隐藏 loading:
```
axios.interceptors.response.use(
res => {
// 隐藏loading
loading && loading.close();
// 处理响应结果
// ...
return res;
},
err => {
// 隐藏loading
loading && loading.close();
// 处理异常
// ...
return Promise.reject(err);
}
);
```
这样,在发送请求时会显示 loading,请求结束后会隐藏 loading。需要注意的是,loading 必须在 axios 请求拦截器中定义,以确保在请求发起前就已经显示。同时,如果在请求过程中出现异常,也需要在响应拦截器中隐藏 loading。
export function logout() { return new Promise((resolve, reject) => { http .post('/sys/logout') .then(res => { resolve(res) }).catch(err => { reject(err) }) }) }
这是一个使用 Promise 封装的登出函数。它通过调用一个名为 `/sys/logout` 的接口来执行登出操作。如果操作成功,`resolve` 函数将被调用并传递一个响应对象 `res`,否则 `reject` 函数将被调用并传递一个错误对象 `err`。在调用该函数时,你可以使用 `then` 方法来处理成功的响应,或使用 `catch` 方法来处理错误。例如:
```
logout()
.then(res => {
console.log(res) // 处理响应
})
.catch(err => {
console.error(err) // 处理错误
})
```