在typescript中以泛型形式返回response.value



我有一个agent.ts typescript文件,它将负责api调用。

const responseBody = (response: any) => response.value;
const requests = {
get: (url: string) => getGraphClient().api(url).get().then(responseBody)
}
const Activities = {
list: () => requests.get(academicCalendarURL)
}
const agent = {
Activities,
}
export default agent;

这很好,但是我想使用泛型。但是我收到一个错误

interface ResponseBody{
body: any;
}
const responseBody = <T extends ResponseBody>(response: T): any => response.body;
const requests = {
get: <T>(url: string) => getGraphClient().api(url).get().then(responseBody) //error 1
}
const Activities = {
list: () => requests.get<Activity[]>(academicCalendarURL)
}
const agent = {
Activities
}
export default agent;

错误1

'T' is declared but its value is never read

您应该用新接口扩展泛型类型。也可以将<T,>用于通用箭头功能。请参阅:链接

interface ResponseBody{
body: any;
}
const responseBody = <T extends ResponseBody>(response: Type): any => response.body;
const requests = {
get: <T,>(url: string) => /// 
} 

游乐场连接

最新更新