请求拦截,响应拦截

import request from '@/utils/request.js'

export function getUserInfo(data) { //一楼首页数据
    return request({
        url: '请求接口',
        method: 'POST',
        data
    })
}
# just a flag
ENV = 'development'

# base api
     VUE_APP_BASE_API = ''
    # VUE_APP_BASE_API = 'http://192.168.0.160/public/api.php/api/'
   0
import axios from 'axios'
// import {  Message } from 'element-ui'
// import store from '@/store'
// import router from '../router'
import { getToken } from '@/utils/auth'
// import { clearToken } from '@/utils/auth'
// 创建axios实例
const service = axios.create({
  baseURL: process.env.VUE_APP_BASE_API, // url = base url + request url
  timeout: 100000,// request timeou
 // 'Content-Type':'application/x-www-form-urlencoded'
})

// 请求拦截
service.interceptors.request.use(
  config => {
    config.headers['Authorization'] = getToken()
    return config
  },
  error => {
    console.log(error) // for debug
    return Promise.reject(error)
  }
)

// 响应拦截器
service.interceptors.response.use(
  response => {
    const res = response.data
    if (res.code !== 0) {
      // Message({
      //   message: res.message || '请登录',
      //   type: 'error',
      //   duration: 5 * 1000
      // })
      if (res.code === 50008 || res.code === 50012 || res.code === 50014 || res.code === 401) {
        // MessageBox.confirm('请求失败', {
        //   confirmButtonText: '确定',
        //   cancelButtonText: '取消',
        //   type: 'warning'
        // }).then(() => {
        //   // clearToken()
        //   console.log('登录')
        //   // router.push({ path: '/login' })
        // })
      }
      return Promise.reject(new Error(res.message || 'Error'))
    } else {
      return res
    }
  },
  error => {
    console.log('err' + error) // for debug
    // Message({
    //   message: error.message,
    //   type: 'error',
    //   duration: 5 * 1000
    // })
    return Promise.reject(error)
  }
)
export default service

}

 auth.js  是对token的一些操作。和本地存储的操作

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: `return Promise.reject(error)` 的作用是返回一个被拒绝的 Promise,其中 `error` 是一个表示错误的对象或值。这个语句通常用于处理异步操作中的错误情况,例如在 Promise 链中的 `catch` 方法中。 当 Promise 中发生错误时,它会立即被拒绝。如果没有正确地处理这个错误,它可能会导致程序崩溃或出现其他问题。因此,使用 `return Promise.reject(error)` 可以将错误信息传递到 Promise 链的下一个 `catch` 方法中,从而使你能够进一步处理该错误或提供错误处理机制。 ### 回答2: return Promise.reject(error)的作用是将一个被拒绝的Promise对象返回。 在JavaScript中,Promise是一种用于处理异步操作的方法。当一个异步操作无法成功执行时,可以使用Promise.reject()方法来创建一个被拒绝的Promise对象,并返回给调用者。 在具体应用中,当遇到某种错误或异常情况时,通过return Promise.reject(error)可以将错误信息封装成一个被拒绝的Promise对象,并把错误信息传递给调用者。调用者可以通过.then()方法中的第二个参数(通常是一个错误处理函数)来捕获该错误并进行相应的处理。这样可以更好地管理和处理程序运行过程中的异常情况,避免应用崩溃或产生意外行为。 此外,通过返回一个被拒绝的Promise对象,还可以在Promise链中使用.catch()方法来捕捉任何被拒绝的Promise,并进行相应的处理。这样能够更好地控制异步流程,在出现错误时及时处理并进行后续操作。 总之,return Promise.reject(error)的作用是创建一个被拒绝的Promise对象,并将该对象返回,用于处理异步操作中的错误或异常情况。 ### 回答3: return Promise.reject(error) 的作用是使用 Promise 对象返回一个被拒绝的结果,将错误信息传递给 Promise 的处理函数。 在 JavaScript 中,Promise 是一种用于处理异步操作的机制,它可以将异步操作封装成一个 Promise 对象,通过其状态的改变来表示异步操作的结果,成功时为已解决(resolved),失败时为已拒绝(rejected)。 当使用 return Promise.reject(error) 的时候,意味着在异步操作中发生了错误,我们可以通过返回一个被拒绝的 Promise 对象来传递错误信息。返回的 Promise 对象会被传递给接下来的 Promise 的处理函数,并且可以通过该 Promise 对象的 catch 方法来捕获错误并进行相应的处理。 这种方式可以帮助我们在异步操作中捕获和处理错误,使得错误能够得到有效的处理和传递,保证程序的稳定性和可靠性。另外,通过返回被拒绝的 Promise 对象,还可以在异步操作链中执行相应的错误处理操作,如统一的错误日志记录、错误信息提示和恢复机制等。 总之,return Promise.reject(error) 的作用是将错误信息封装为一个被拒绝的 Promise 对象,并通过 Promise 的机制将错误信息传递给后续的处理函数,以便进行错误处理和恢复操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值