有两个响应类型 ResultData (不分页)和 ResultPage (分页),我下面封装的 get 方法每次调用的时候都要导入 ResultPage 或 ResultData ;
http.get<ResultPage<SomeType>>("/test", params);
或
http.get<ResultData<SomeType>>("/test", params);
TS 有没有什么办法传入一个参数或怎样实现自动识别调用分页和不分页的类型?
get<T>(url: string, params?: object, _object = {}): Promise<T> {
return this.service.get(url, { params, ..._object });
}
// 请求响应
export interface Result {
code: string;
message: string;
}
// 请求响应数据
export interface ResultData<T = any> extends Result {
data: T;
}
// 请求分页响应
export interface ResultPage<T> extends Result {
count: number;
current: number;
limit: number;
data: T[];
}
