Quiero personalizar mis funciones get, post, put con axios. Después de realizar la operación axios.create(), cuando realizo la operación get, quiero que realice la operación then y catch siempre.
import axios from "axios"; export default (apiName = "") => { let headers = { "Content-Type": "application/json" }; let token = JSON.parse(localStorage.getItem("token") || "{}"); if (token && token !== "") { headers.Authorization = `Bearer ${token.AccessToken}`; } const instance = axios.create({ baseURL: apiName === "" ? process.env.VUE_APP_API_URL : process.env.VUE_APP_API_URL + apiName, withCredentials: false, headers: headers }); return instance; }; axios.post('/api/Export/CopyShippingPlan/', plan) .then(handleResponse) .catch((error) => { console.log(error); });Quiero definir axios.post aquí después de axios.create y luego capturar la acción donde quiera que llame axios.post acción. Así que no quiero tener que usar then y detectar dónde uso axios cada vez.
Creo que estás buscando interceptors :
Ejemplo:
const ApiService = axios.create() ApiService.interceptors.response.use( config => { //your code return config }, error => { console.log(error) return Promise.reject(error) }) ApiService.interceptors.request.use( config => { //your code return config }, error => { console.log(error) return Promise.reject(error) }) Después de configurarlos, no necesita hacer nada especial, solo llame axios.get , axios.post , etc.