actualmente, estoy usando axios e intento obtener la solicitud y establecer datos y luego anular la solicitud usando useState con intervalo.
sin embargo, parece que la solicitud no mantiene la solicitud de cancelación tan pronto como se recibe la solicitud.
¡Quiero saber si es posible abortar la solicitud!
mi código es así.
const controller = new AbortController(); const CancelToken = axios.CancelToken; const source = CancelToken.source(); const getAPI = useCallback(async () => { await axios .get(convert.GET_API_URL, { headers: convert.Header, cancelToken: source.token, signal: controller.signal, }) .then(response => { setAPI_DATA(response.data); setSpinner(false); source.cancel(); controller.abort(); }) .catch(error => { setSpinner(false); }); }, [API_DATA, convert, spinner]); useInterval( () => { getAPI(); }, apiStart ? convert?.API_Read_Speed : null ); import { useEffect } from "react"; import { useRef } from "react"; const useInterval = (callback, delay) => { const savedCallback = useRef(callback); useEffect(() => { savedCallback.current = callback; }, [callback]); useEffect(() => { const tick = () => { savedCallback.current(); }; if (delay !== null) { const id = setInterval(tick, delay); return () => clearInterval(id); } }, [delay]); }; export default useInterval;