Bootstrap

vue项目中axios拦截器抛出异常在页面中接受异常

vue项目中我们使用axios来进行请求的发送,axios发送请求过程中,我们可以使用请求拦截器以及响应拦截器来对请求进行过滤处理。当我们需要在特殊的响应状态码进行一些操作得时候,例如微信h5页面的code需要二次获取。我们可以在响应拦截器里抛出异常,然后在页面请求过后去捕获异常,进行处理。代码如下;
拦截器:

service.interceptors.response.use(response => {
  let resData = response.data
  if (resData.code === 200) {
    return resData.data
  } else if(resData.code === -1) {
    Toast.fail(resData.msg)
    //抛出异常
    return Promise.reject(new Error(resData.msg))
  }
}

页面接受异常

            api.getLIst({
            	name: this.name,
            	age: this.age
            }).then(res => {
            	 //未发生异常,对相应结果进行处理
              }).catch((err) => {
              	//对异常进行处理
              })

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;