例如使用某个第三方请求库request,请求库设置了拦截器,请求成功时返回RequestResponse<T>的T
type RequestResponse<T = any> = {
data: T;
response: Response;
};
function getXXX<T>() : Promise<RequestResponse<T>>{
return request(xxx);
}
但是使用时data的数据类型被推断为RequestResponse<T>而不是T,doSomething的参数类型是T不是RequestResponse<T>,这种情况大家是怎么解决的呢?
async () => {
const data = await getXXX<TDetail>();
doSomething(data);
}
你getXXX返回T就好了吧
或者传入doSomething的时候把T取出来,data.xxx