侧边栏壁纸
  • 累计撰写 22 篇文章
  • 累计收到 1 条评论

实习日记 05

admin
2022-06-08 / 0 评论 / 2 阅读 / 正在检测是否收录...

任务:添加接口,修改某个页面的样式并通过接口把数据展示
任务比较简单,但是看了发送请求相关的代码,觉得很有学习意义!
之前个人项目发送请求用的是baseurl,而公司项目使用了webpack中的devServer,目前个人的理解的devServer相当于baseurl,但是能有很多个,同时也可以设置一些参数,公司在的项目使用到了changeOrigin: true。 能够把发送请求头中host会设置成target。目前不清楚作用

重写了axios中的httpRequest,其中主要包括三部分内容

  1. ResponseHandler 这个函数目前不懂

    export class ResponseHandler {
      constructor() {}
      excute(response) {
     const {
       data,
       config: {url}
     } = response
    
     return Promise.resolve(data)
      }
    }
  2. 定义了baseurl
  3. 写了HttpRequest构造函数,默认参数有延时时间、baseUrl、成功响应过滤数组、失败响应过滤数组、以及对并发请求的一个计数器
    HttpRequest中,首先把原本axios的方法全部注入到HttpRequest中。

     let {all, spread} = axios
     const enhancedAxios = Object.assign(this, {all, spread})

    HttpRequest中的方法有合并配置信息(其中有个参数指定了头部是否携带token)、重写post,get,put,delete(主要是对传递参数部分进行了重写)、各种响应的过滤(根据响应的成功或者失败进行处理,基本都用到了promise)、进度条的状态。
    之后又对请求头信息进行了更加详细的重写,包括微信登录时的判定、人脸识别判定等

0

评论 (0)

取消