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

【axiox】前后端接口通讯数据交互

  •  重要全局配置:
    • axios.create();  设置axios请求的公共配置信息。
    • service.interceptors.request.use((config)=>{})    请求拦截器

    • service.interceptors.response.use((res)=>{},(err)=>{})   响应拦截器

    • const source = axios.CancelToken.source();    用来取消接口请求的。

import axios, { CancelToken } from 'axios';
const usbIP = 'http://192.168.42.1:8080';// 创建默认请求配置数据;
// 每次service() 请求接口时,都会使用默认设置的参数内容。
const service = axios.create({ baseURL: usbIP, // 设置 url 默认前缀timeout: 1000 * 30, // 设置全局超时时长
});// const source = axios.CancelToken.source(); 
// 用来取消接口的,发送请求时传入 { cancelToken: source?.token }。
// 然后调用 source.cancel(''); 即可取消接口请求,('')括号内的就是取消[rejct]的信息内容。// 设置接口请求拦截器:每个接口发送请求前,都会从这走一遍。
service.interceptors.request.use((config) => {return config
})// 设置接口响应拦截器:每个接口返回数据时,都会先经过拦截器走一遍。
service.interceptors.response.use((res) => {// ...return Promise.resolve(res.data);},(error) => {return Promise.reject(error);},
);export interface HTTPConfig {url: string;method: 'get' | 'post' | 'delete' | 'head' | 'options' | 'put' | 'patch';data?: object;params?: object;headers?: object;responseType?: any;responseEncoding?: string;baseURL?: string;timeout?: number;cancelToken?: CancelToken;
}type HTTP = <T>(config: HTTPConfig) => Promise<T>;
const useHttp: HTTP = (config) => {return service(config);
};export default useHttp;

调用请求案例:

import http from '@cut/http/request';getDeviceInfo(ip: string, source?: CancelTokenSource, timeout = 1000 * 5) {return http<DeviceInfo>({url: ip + '/device/info',method: 'get',timeout,cancelToken: source?.token,});},

http://www.lryc.cn/news/309890.html

相关文章:

  • 《Linux C编程实战》笔记:共享内存
  • 【GitHub】修改默认分支
  • 常用Linux 命令汇总
  • 13 双口 RAM IP 核
  • 【高级数据结构】Trie树
  • 国际化 Vue-i18n的安装与使用 (Vue2.0 / Vue3.0)
  • Linux 学习笔记(8)
  • 【python】1.python3.12.2和pycharm社区版的安装指南
  • Ubuntu将c++编译成.so文件并测试
  • 数据分析-Pandas数据的探查面积图
  • 美团分布式 ID 框架 Leaf 介绍和使用
  • Ubuntu20.04: UE4.27 中 Source Code 的编辑器下拉框没有 Rider选项
  • 【论文阅读-PRIVGUARD】Day4:3节
  • 新一代电话机器人开源PHP源代码
  • dockerdocker-copose_限制容器cpu和内存
  • 【leetcode】圆圈中最后剩下的数字
  • 利用python批量将.shp文件转换坐标生成.geojson文件,再将.geojson转换成.csv文件,最后将csv文件插入数据库表
  • 远程服务器Ubuntu 18.04安装VNC远程桌面
  • 30天自制操作系统(第23天)
  • 基于Rust语言,和WebAssembly技术,与JavaScript结合,的具体应用场景
  • 【MATLAB源码-第154期】基于matlab的OFDM系统多径信道下块状和梳妆两种导频插入方式误码率对比仿真。
  • Linux 下 socket 编程介绍及 TCP 客户端与服务端创建示例
  • JetBrains Gateway Github Copilot 客户端插件和主机插件
  • 【web APIs】3、(学习笔记)有案例!
  • 使用css reset 还是使用Normalize.css
  • 英语中的提问方式(问法)(bug提问、bug描述)
  • xss.haozi.me靶机练习
  • 2.1 mov、add和sub加减指令实操体验
  • 计算机设计大赛 深度学习机器视觉车道线识别与检测 -自动驾驶
  • 中间件安全(概述)有中间件的各类链接和官网信息和漏洞库以及配置问题和开源工具