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) => {
              	//对异常进行处理
              })
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐