/
laborgit
/
laborgit-frontend
Обзор
Документация
Войти
/
laborgit
/
laborgit-frontend
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
main
src/services/utils/axiosBaseQuery.ts
34 строки
986 B
gdev2018
add RequestQueue
16 июн 2026, 01:35
16 июн 2026, 01:35
bba0ff2
Код
Авторство
О чём код?
import { BaseQueryFn } from "@reduxjs/toolkit/query"; import { AxiosError, AxiosRequestConfig } from "axios"; import baseApi from "services/utils/baseApi.ts"; import { requestQueue } from "services/utils/requestQueue.ts"; const axiosBaseQuery = (): BaseQueryFn< { url: string; method?: AxiosRequestConfig["method"]; data?: AxiosRequestConfig["data"]; params?: AxiosRequestConfig["params"]; paramsSerializer?: AxiosRequestConfig["paramsSerializer"]; headers?: AxiosRequestConfig["headers"]; }, unknown, unknown > => async ({ url, ...options }) => { try { const result = await requestQueue.enqueue(() => baseApi(url, options)); return { data: result.data }; } catch (axiosError) { const err = axiosError as AxiosError; return { error: { status: err.response?.status, data: err.response?.data || err.message } }; } }; export default axiosBaseQuery;