Typescript实用函数,用于发出Axios请求



我正在尝试为Axios请求创建一个实用程序函数。

我首先在global.d.ts处创建AxiosConfig的别名:

import { Method } from 'axios';
export {};
declare global { 
type AxiosConfig = {url: string, method: Method, data: object};
}

然后,在我的utils.ts我创建了以下函数:

import axios, { AxiosResponse } from 'axios';
import * as https from 'https';
export async function axiosReq(options: AxiosConfig): Promise<AxiosResponse<unknown, any>> {
try {
const data = await axios({
url: options.url,
method: options.method,
data: options.data,
httpsAgent: new https.Agent({
rejectUnauthorized: false
})
});
return data;
} catch (error) {
console.log(error)
throw new Error('Failed to fetch videos...')
}
}
最后,使用函数:
import { axiosReq } from "../utils";
const AxiosConfig = { 
url: 'https://172.24.14.12/api/baseline', 
method: 'POST',
data: {}
};
const res = await axiosReq(AxiosConfig);

节点在启动时崩溃(甚至在使用axiosReq之前)。只有当我注释掉const res = await axiosReq(AxiosConfig)节点时才会启动而不会崩溃。我没有收到任何信息错误。

我做错了什么?

您将AxiosConfig视为值或变量,而实际上它只是一个类型。试着

const postBaseline: AxiosConfig = {...

然后将res调用中的AxiosConfig替换为postBaseline

相关内容

  • 没有找到相关文章

最新更新