Я использую ReactJs & AX IOS в этом проекте, и я хочу создать глобальный обработчик ошибок, не передавая везде запрос на добавление к нему catch. У меня есть служба, собирающая все запросы, и я создаю ее новый экземпляр и использую
import Axios from 'axios';
import { getSiteId } from '../helpers';
export class BaseService {
baseRoute;
promise;
constructor() {
let siteUrl = (process.env && process.env.REACT_APP_API_URL) || '';
this.baseRoute = `${siteUrl}/api/v1`;
}
async create(item) {
return await Axios.post(`${this.generateURL()}/`, item, {
...this.configuration,
})
.catch(error => {
return this.errors(error);
});
}
async update(item, id) {
return await Axios.patch(`${this.generateURL(id)}`, item, {
...this.configuration,
});
}
async filter(query) {
return await Axios.get(`${this.generateURL()}`, {
...this.configuration,
params: query,
});
}
, создавая новый экземпляр, например,
let service= serviceFactory.getInstance();
Затем обращайтесь к любой функции
как сделать глобальный обработчик, добавляющий .catch к каждому запросу и компоненту рендеринга, например, модально из глобального места, а не передавать во все места, где я использую функции в