当前位置: 首页 > news >正文

网站建设 外包哪种语言做的网站好

网站建设 外包,哪种语言做的网站好,办公空间设计定位,最新版在线 网一、场景描述 为什么要对axios网络请求进行二次封装? 解决代码的复用#xff0c;提高可维护性。 —这个有两个方案#xff1a;一个是二次封装一个是实例化。#xff08;设置一些公共的参数#xff0c;然后进行请求#xff09; 为什么可以解决代码的复用#xff1a; 这是…一、场景描述 为什么要对axios网络请求进行二次封装? 解决代码的复用提高可维护性。 —这个有两个方案一个是二次封装一个是实例化。设置一些公共的参数然后进行请求 为什么可以解决代码的复用 这是最简单格式的代码需要定义url和请求方式。 axios({method: get,url: http://codercba.com:9002/banner, }).then(function (response) {console.log(response); }).catch(function (error) {console.log(error); });封装之后的请求方式减少了点代码 hyRequest.get({ url: /banner }).then((res) {console.log(res);setImg(res.banners);console.log(img);});Axios实例化的输出 const instance axios.create({baseURL: http://codercba.com:9002, });instance.get(banner).then((response) {console.log(实例化请求输出);console.log(response); });二、二次封装的代码实现 type.ts //定义一些类型 import type {InternalAxiosRequestConfig,AxiosRequestConfig,AxiosResponse,AxiosRequestHeaders, } from axios;export interface HYInterceptorsT AxiosResponse { //定义拦截器类型requestSuccessFn?: (config: InternalAxiosRequestConfig) InternalAxiosRequestConfig;requestFailureFn?: (err: any) any;responseSuccessFn?: (res: T) T;responseFailureFn?: (err: any) any; }export interface HYRequestConfigT AxiosResponse extends AxiosRequestConfig { //定义请求体的配置 interceptors?: HYInterceptorsT;headers?: AxiosRequestHeaders; }request.ts //封装axios import axios, { InternalAxiosRequestConfig } from axios; import type { AxiosInstance } from axios; import type { HYRequestConfig } from ./type;class HYRequest {instance: AxiosInstance; //实例constructor(config: HYRequestConfig) { this.instance axios.create(config); //实例化axiosthis.instance.interceptors.response.use((config) {return config;},(err) {return err;});this.instance.interceptors.response.use((res) {return res.data;},(err) {return err;});this.instance.interceptors.request.use(config.interceptors?.requestSuccessFn,config.interceptors?.requestFailureFn);this.instance.interceptors.response.use(config.interceptors?.responseSuccessFn,config.interceptors?.responseFailureFn);}requestT any(config: HYRequestConfigT) {if (config.interceptors?.requestSuccessFn) {config config.interceptors.requestSuccessFn(config as InternalAxiosRequestConfig);}return new PromiseT((resolve, reject) {this.instance //实例请求 .requestany, T(config).then((res) {if (config.interceptors?.responseSuccessFn) {res config.interceptors.responseSuccessFn(res);}resolve(res);}).catch((err) {reject(err);});});}getT any(config: HYRequestConfigT) {return this.request({ ...config, method: GET });}postT any(config: HYRequestConfigT) {return this.request({ ...config, method: POST });}deleteT any(config: HYRequestConfigT) {return this.request({ ...config, method: DELETE });}patchT any(config: HYRequestConfigT) {return this.request({ ...config, method: PATCH });} }export default HYRequest;index.ts //实例化 import { BASE_URL, TIME_OUT } from ./config; import HYRequest from ./request;const hyRequest new HYRequest({baseURL: BASE_URL,timeout: TIME_OUT,interceptors: {requestSuccessFn: (config) {return config;},}, });export default hyRequest;可以看到其实封装也是先实例化之后再进行封装。为什么要这么做实例化的东西不太好维护。包括对拦截器的更新。 三、上述内容整体概述 四、axios相关内容
http://www.w-s-a.com/news/260473/

相关文章:

  • 网站建设网页设计案例云南建设厅网站删除
  • 杏坛网站制作太原做网站要多少钱呢
  • 做新闻类网站还有市场吗东莞黄页网广告
  • 地方网站做外卖专业做互联网招聘的网站有哪些
  • 网站推广公司兴田德润紧急网页升级紧急通知
  • 厦门做网站哪家强企业网站网页设计的步骤
  • 普拓网站建设济南行业网站建设
  • 燕郊 网站开发网站里的地图定位怎么做
  • 门户网站建设招标互联网创业项目概述
  • 用什么做网站比较好市场调研公司是做什么的
  • 电商网站充值消费系统绍兴网站优化
  • 深圳网站建设公司联虚拟币交易网站开发
  • 专业网站设计建设公司抖音代运营公司排名前十强
  • 做网站架构肃北蒙古族自治县建设局网站
  • 推广网站怎么建经济研究院网站建设方案
  • 网站建设商家淘宝客自建网站做还是用微信qq做
  • django做网站效率高吗涉县移动网站建设报价
  • 做外贸网站注册什么邮箱能够做渗透的网站
  • 购物网站 怎么做织梦网站会员功能
  • 北京市网站开发公司郑州联通网站备案
  • 温岭专业营销型网站建设地址wordpress小程序怎么不用认证审核
  • 网站建设主体设计要求微信公众号缴费
  • 网站建设的税率WordPress多用户建站
  • 专业门户网站的规划与建设网络培训
  • 东莞汽车总站停止营业crm管理系统在线使用
  • 深圳网站建设公司哪个网络优化是做什么的
  • 大连地区做网站自己怎么做电影网站
  • 成都APP,微网站开发手机要访问国外网站如何做
  • 网站app建设用discuz做的手机网站
  • vs 2008网站做安装包公众号登录超时