интерфейс, хочу добавить метод для кешеирования
Результирующий интерфейс:
interface AxiosInstanceWithCache extends AxiosInstance {
getWithCache<D, P>(url: string, params?: P): {
status: number,
data: D
}
}
Пытаюсь сделать так:
/**
* Запрос в Api-mongo
*/
const dataRequest: AxiosInstanceWithCache = axios.create({
baseURL: MONGO_API_ENDPOINT,
});
dataRequest.getWithCache = async (url, params) => {
... имплементация ...
}
export default dataRequest;
Есть ошибки?
Type '<D, P>(url: string, params: P | undefined) => Promise<AxiosResponse<any> | { status: number; data: any; }>' is not assignable to type '<D, P>(url: string, params?: P | undefined) => { status: number; data: D; }'. Type 'Promise<AxiosResponse<any> | { status: number; data: any; }>' is missing the following properties from type '{ status: number; data: D; }': status, data
это при использовании или при декларации метода ошибка?
использование - dataRequest.getWithCache = async (url, params) => {
это не использование
попробуй тут так же дженерик добавить
получилось сделать так let mongoRequest: AxiosWithCache = Object.create(axiosMongo); не уверен что это правильно
Обсуждают сегодня