/** * Возвращает функцию fetchData, вызывающую apiMethod и сохраняющую результат в useState по ключу key. * В отличие от useApiFetcher, не кеширует данные — подходит для запросов, требующих свежего состояния. * @param key - ключ для useState (null — не сохранять) * @param apiMethod - асинхронная функция API * @param apiArgs - аргументы для apiMethod */ export function useApiFetcherNoCache( key: string | null, apiMethod: (...args: any[]) => Promise, ...apiArgs: any[] ) { return async function fetchData() { const hasKey = key?.trim(); const state = hasKey ? useState(key!, () => null) : null; try { const result = await apiMethod(...apiArgs); if (state) state.value = result; return result; } catch (err) { throw createError({ statusCode: 500, statusMessage: 'Fetch Error', message: `Error fetching ${key}: ${err instanceof Error ? err.message : 'An unknown error occurred'}`, }); } }; }