我有一个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) => ///
}
游乐场连接