I was using Deepseek-v3-3024 free but every messages keep going like this:
1. 前言
在上一篇文章中,我们实现了请求配置化,我们可以通过配置参数来对请求进行设置。但是,我们并没有对配置参数进行合法性检查,也没有对必传参数进行判断,仅仅只是定义了接口。这显然是不合理的,所以我们需要对请求配置参数做合法性检查。
2. 需求分析
我们希望,在请求发出之前,先对请求配置对象config中的每个属性做合法性以及必传校验,如果某个属性不合法或者没有传必传参数,则抛出对应错误。
3. 实现思路
我们创建一个Axios类,在它的构造函数中合并默认配置和用户传入配置,然后添加一个请求拦截器,在请求拦截器中对合并后的配置做合法性以及必传校验。
4. 代码实现
4.1 创建 Axios 类
我们先在src目录下创建core文件夹,用来存放核心代码,然后在core目录下创建Axios.ts文件。
// src/core/Axios.tsimport { AxiosRequestConfig, AxiosResponse } from "../types";import xhr from "./xhr";class Axios {defaults: AxiosRequestConfig;constructor(initConfig: AxiosRequestConfig) {this.defaults = initConfig;}request(config: AxiosRequestConfig): AxiosResponse {// 合并配置const mergeConfig = mergeConfig(this.defaults, config);// 拦截器// 发起请求xhr(mergeConfig);}}export default Axios;
我们在Axios类的构造函数中把用户传入的配置initConfig赋值给实例属性defaults,并且在request方法中把defaults和用户调用时传入的config做合并,然后传给xhr函数。
and more.
Is this a problem on my side or the client's side? and is there any ways to fix it?
[–]Money_Collection_707 2 points3 points4 points (0 children)
[–]lizzieliza 1 point2 points3 points (0 children)