Bootstrap

vue3+ts 请求接口收到返回结果,这样定义返回值类型

export type tableData = {
    a:string;
    b:string;
    c:string;
    d:string;
}

type res<T>={
message:string;
success:boolean;
code:number;
data:T;
}

export function getList<T>(params: query请求参数的类型,data:body请求参数的类型):Promise<res<T>>{
return api.request({
    url:路径,
    params,
    data,
    method:请求方法
    }) as Promise<res<T>>
}


// 页面上用的时候
 const data = ref<tableData>([])
const a = async ()=>{
    const res = await getList<tableData>(params,data)
    data.value = res.data
}

这是个表格数据的请求接口,  首先要定义一个表格所有用到的数据类型,就是那个tableData,然后再定义 接口返回的通用类型res ,res<T>里面的T就是那个传进去的泛型推导,  页面上data要用tableData 定义, 在发送请求的时候 getList后面传进 tableData ,这个tableData 就到了请求函数的那个 <T>  ,T相当于一个函数的入参, 把 tableData传过去  , T = tableData ,然后返回结果的类型res<T>  里面的 data 的类型就是 tableData 了

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;