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

电子商务网站怎么建设服装网站建设都有哪些

电子商务网站怎么建设,服装网站建设都有哪些,信息检索关键词提取方法,网站建设制作费用预算表本案例旨在教授如何使用Axios库结合TypeScript泛型进行HTTP请求的高级封装#xff0c;以提升代码的可复用性和类型安全性。我们将通过一个具体的示例#xff0c;学习如何创建一个通用的请求函数#xff0c;它能够适应不同类型的API响应#xff0c;并在请求前后加入自定义逻…      本案例旨在教授如何使用Axios库结合TypeScript泛型进行HTTP请求的高级封装以提升代码的可复用性和类型安全性。我们将通过一个具体的示例学习如何创建一个通用的请求函数它能够适应不同类型的API响应并在请求前后加入自定义逻辑如错误处理、Token注入等。 1. 引入必要的库和类型 引入Axios首先我们导入Axios库及其相关类型用于发起网络请求。定义类型引入AxiosInstance和AxiosRequestConfig类型以增强代码的类型提示和安全性。 import axios, { type AxiosResponse } from axios; import type { AxiosInstance, AxiosRequestConfig } from axios; 2. 创建Axios实例并配置 配置基础设置通过axios.create方法创建一个Axios实例并设置基础URL和超时时间等默认配置 const axiosInstance: AxiosInstance axios.create({baseURL: https://tenapi.cn/v2/,timeout: 10000 }); 3. 添加请求和响应拦截器 请求拦截器在请求发送前可以统一处理逻辑如添加认证信息。响应拦截器对返回的响应进行统一处理如错误码判断。 axiosInstance.interceptors.request.use(config {// 可以在此处添加Token或其他请求头return config; }, error Promise.reject(error));axiosInstance.interceptors.response.use(res res, error Promise.reject(error)); 4. 定义API响应接口 ApiResponse接口定义一个泛型接口来规范API响应的结构包含状态码、消息、时间戳和数据部分。 export interface ApiResponseT any {code: number;msg: string;timestamp: number;data: T; } 5. 封装请求函数 泛型request函数创建一个异步的泛型函数request它接受请求配置并返回经过类型转换的响应数据。  export async function requestT(config: AxiosRequestConfig): PromiseT {return axiosInstance.requestApiResponseT(config).then(res res.data); } 6. 使用封装的请求函数 具体请求示例定义一个数据模型Hot并使用request函数发起请求处理响应数据 interface Hot {name: string;url: string;hot: number; }requestArrayHot({url: /baiduhot,method: get }).then(res {if(res.code 200) {const hot res.data[0];console.log(hot.name);} }); 6. 完整代码 import axios, {type AxiosResponse} from axios; import type { AxiosInstance, AxiosRequestConfig } from axios;/* 创建axios实例 */ const axiosInstance : AxiosInstance axios.create({baseURL: https://tenapi.cn/v2/,timeout: 10000 });/* 封装实例的请求拦截器 */ axiosInstance.interceptors.request.use( config {return config; }, (error) {return Promise.reject(error); });/* 封装实例的响应拦截器 */ axiosInstance.interceptors.response.use( (res : AxiosResponseany) {return res; }, (error) {return Promise.reject(error); });/* 定义接口 */ export interface ApiResponseT {code: number;msg: string;timestamp: number;data: T; }/* 封装实例的请求方法 */ export async function requestT(config: AxiosRequestConfig ) {// axios实例的 request 接受的第一个泛型参数就是返回数据data的类型return axiosInstance.requestApiResponseT(config).then((res) res.data); }/* 如何使用代码如下 */ interface Hot {name: string;url: string;hot: number; }requestArrayHot({url: /baiduhot,method: get }).then(res {if(res.code 200) {let hot res.data[0];console.log(hot.name);} });提示更多的Axios配置信息请看官网
http://www.w-s-a.com/news/960681/

相关文章:

  • 咸宁网站设计公司app安装下载
  • 丝网外贸做哪些网站最优的赣州网站建设
  • 如何做网站不被查网站开发工程师岗位说明书
  • 做网站需要vps吗网站建设后怎样发信息
  • 网站建立风格二手交易网站开发可参考文献
  • 成都微信网站开发优化大师优化项目有哪些
  • 哪个网站做自考题目免费郑州网站建设公司qq
  • 地方性的网站有前途顺的网络做网站好不好
  • 学校申请建设网站的原因不要网站域名
  • 推荐响应式网站建设子域名查询工具
  • 如何建设学校的微网站广告推广是什么
  • 设计类专业哪个就业前景好网站建设seoppt
  • 济南建站公司网站网站友链查询源码
  • 校园失物招领网站建设涪陵网站建设公司
  • 怎么做盗号网站手机网站建设需要租用什么科目
  • 成品网站是什么意思沈阳seo推广
  • 购物网站后台流程图昆明官网seo技术
  • 创建自己网站全网零售管理系统
  • 江苏省建设厅网站建筑电工证wordpress收费插件大全
  • 北京中国建设银行招聘信息网站宁德蕉城住房和城乡建设部网站
  • 泉州做网站优化哪家好wordpress站点预览
  • 创建门户网站一页网站首页图如何做
  • 服装手机商城网站建设sns社交网站有哪些
  • 无锡工程建设招标网站怎么自己建设公司网站
  • 哪个网站可以学做咸菜安卓软件开发需要学什么软件
  • 自有网站建设的团队遂宁市建设局网站
  • 网站建设哪个好一些网站内容导出
  • 什么网站的页面做的比较好看网上做平面设计的网站
  • 网站建设单选网站建设学校培训学校
  • 可以做app的网站logo设计在线生成免费标小智