интерфейс, хочу добавить метод для кешеирования
                  
                  
                  Результирующий интерфейс:
                  
                  
                  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;
                  
                  
                
Есть ошибки?
 Dmitriy
                          Firsov
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Dmitriy
                          Firsov
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  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
это при использовании или при декларации метода ошибка?
 Dmitriy
                          Firsov
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Dmitriy
                          Firsov
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  использование - dataRequest.getWithCache = async (url, params) => {
это не использование
попробуй тут так же дженерик добавить
 Dmitriy
                          Firsov
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Dmitriy
                          Firsov
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  получилось сделать так let mongoRequest: AxiosWithCache = Object.create(axiosMongo); не уверен что это правильно
Обсуждают сегодня