Rev 801 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import axios from 'axios'export class Request {#client#abortControllerconstructor(baseURL, timeout = 5000) {this.#client = axios.create({ baseURL, timeout })this.#abortController = new AbortController()}async MakeRequest(method = 'get', { endpoint, data, params }) {const config = { ...params }config.signal = this.#abortController.signalconst response =method === 'get' || method === 'delete'? await this.#client[method](endpoint, config): await this.#client[method](endpoint, data, config)return response.data}async get(endpoint, params) {return await this.MakeRequest('get', { endpoint, params })}async delete(endpoint, params) {return await this.MakeRequest('delete', { endpoint, params })}async post(endpoint, data, params) {return await this.MakeRequest('post', { endpoint, data, params })}async put(endpoint, data, params) {return await this.MakeRequest('put', { endpoint, data, params })}cancelToken() {if (!this.#abortController.signal.aborted) {this.#abortController.abort()}}}