muerwre.github.io/api/_content/query/CMMQ5oxSPg.json
muerwre c4cc70ced6 commit 7d311fd60e8e534e3b641d1179480b27b472d1e2
Author: Fedor Katurov <gotham48@gmail.com>
Date:   Thu Nov 3 16:04:38 2022 +0600

    fixed headers size
2022-11-03 10:07:05 +00:00

1 line
No EOL
21 KiB
JSON

{"_path":"/frontend/react/axios-with-abortcontroller","_dir":"react","_draft":false,"_partial":false,"_locale":"en","_empty":false,"title":"Axios With AbortController","description":"If you need to cancel some request, use axios with AbortController. Previously axios used cancellation token, but now it's deprecated.","excerpt":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you need to cancel some request, use "},{"type":"element","tag":"a","props":{"href":"https://axios-http.com/docs/cancellation","rel":["nofollow"]},"children":[{"type":"text","value":"axios with AbortController"}]},{"type":"text","value":". Previously axios used cancellation token, but now it's deprecated."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"AbortController"}]},{"type":"text","value":" can be used with a multiple requests to cancel them at once."}]},{"type":"element","tag":"code","props":{"code":"import { useCallback, useRef } from \"react\";\nimport axios from 'axios';\n\nconst client = axios.create();\n\nexport const useGetUsers = () => {\n const controller = useRef(new AbortController());\n \n const get = useCallback(async () => {\n const result = await client.get(\"/\", {\n // params and props here\n signal: controller.current.signal,\n });\n\n return result.data;\n }, []);\n\n const cancel = useCallback(() => {\n controller.current.abort();\n \n // controller should be rewritten or all requests will fail\n controller.current = new AbortController();\n }, [controller]);\n\n return { get, cancel };\n};\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"import { useCallback, useRef } from \"react\";\nimport axios from 'axios';\n\nconst client = axios.create();\n\nexport const useGetUsers = () => {\n const controller = useRef(new AbortController());\n \n const get = useCallback(async () => {\n const result = await client.get(\"/\", {\n // params and props here\n signal: controller.current.signal,\n });\n\n return result.data;\n }, []);\n\n const cancel = useCallback(() => {\n controller.current.abort();\n \n // controller should be rewritten or all requests will fail\n controller.current = new AbortController();\n }, [controller]);\n\n return { get, cancel };\n};\n"}]}]}]}]},"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you need to cancel some request, use "},{"type":"element","tag":"a","props":{"href":"https://axios-http.com/docs/cancellation","rel":["nofollow"]},"children":[{"type":"text","value":"axios with AbortController"}]},{"type":"text","value":". Previously axios used cancellation token, but now it's deprecated."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"AbortController"}]},{"type":"text","value":" can be used with a multiple requests to cancel them at once."}]},{"type":"element","tag":"code","props":{"code":"import { useCallback, useRef } from \"react\";\nimport axios from 'axios';\n\nconst client = axios.create();\n\nexport const useGetUsers = () => {\n const controller = useRef(new AbortController());\n \n const get = useCallback(async () => {\n const result = await client.get(\"/\", {\n // params and props here\n signal: controller.current.signal,\n });\n\n return result.data;\n }, []);\n\n const cancel = useCallback(() => {\n controller.current.abort();\n \n // controller should be rewritten or all requests will fail\n controller.current = new AbortController();\n }, [controller]);\n\n return { get, cancel };\n};\n","language":"typescript"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-74fa66"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"class":"ct-fc57c0"},"children":[{"type":"text","value":"useCallback"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"class":"ct-fc57c0"},"children":[{"type":"text","value":"useRef"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"class":"ct-74fa66"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ed40b5"},"children":[{"type":"text","value":"\"react\""}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":";"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-74fa66"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-fc57c0"},"children":[{"type":"text","value":"axios"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-74fa66"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ed40b5"},"children":[{"type":"text","value":"'axios'"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":";"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1b579c"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-c45372"},"children":[{"type":"text","value":"client"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-74fa66"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-fc57c0"},"children":[{"type":"text","value":"axios"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-91a95e"},"children":[{"type":"text","value":"create"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":"();"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-74fa66"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-1b579c"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-91a95e"},"children":[{"type":"text","value":"useGetUsers"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-74fa66"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" () "}]},{"type":"element","tag":"span","props":{"class":"ct-1b579c"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-1b579c"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-c45372"},"children":[{"type":"text","value":"controller"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-74fa66"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-91a95e"},"children":[{"type":"text","value":"useRef"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-74fa66"},"children":[{"type":"text","value":"new"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-91a95e"},"children":[{"type":"text","value":"AbortController"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":"());"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-1b579c"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-c45372"},"children":[{"type":"text","value":"get"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-74fa66"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-91a95e"},"children":[{"type":"text","value":"useCallback"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-1b579c"},"children":[{"type":"text","value":"async"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" () "}]},{"type":"element","tag":"span","props":{"class":"ct-1b579c"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-1b579c"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-c45372"},"children":[{"type":"text","value":"result"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-74fa66"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-74fa66"},"children":[{"type":"text","value":"await"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-fc57c0"},"children":[{"type":"text","value":"client"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-91a95e"},"children":[{"type":"text","value":"get"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-ed40b5"},"children":[{"type":"text","value":"\"/\""}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":", {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-3d579a"},"children":[{"type":"text","value":"// params and props here"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" signal: "}]},{"type":"element","tag":"span","props":{"class":"ct-fc57c0"},"children":[{"type":"text","value":"controller"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-fc57c0"},"children":[{"type":"text","value":"current"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-fc57c0"},"children":[{"type":"text","value":"signal"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" });"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-74fa66"},"children":[{"type":"text","value":"return"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-fc57c0"},"children":[{"type":"text","value":"result"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-fc57c0"},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":";"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" }, []);"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-1b579c"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-c45372"},"children":[{"type":"text","value":"cancel"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-74fa66"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-91a95e"},"children":[{"type":"text","value":"useCallback"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":"(() "}]},{"type":"element","tag":"span","props":{"class":"ct-1b579c"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-fc57c0"},"children":[{"type":"text","value":"controller"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-fc57c0"},"children":[{"type":"text","value":"current"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-91a95e"},"children":[{"type":"text","value":"abort"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":"();"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-3d579a"},"children":[{"type":"text","value":"// controller should be rewritten or all requests will fail"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-fc57c0"},"children":[{"type":"text","value":"controller"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-fc57c0"},"children":[{"type":"text","value":"current"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-74fa66"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-74fa66"},"children":[{"type":"text","value":"new"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-91a95e"},"children":[{"type":"text","value":"AbortController"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":"();"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" }, ["}]},{"type":"element","tag":"span","props":{"class":"ct-fc57c0"},"children":[{"type":"text","value":"controller"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":"]);"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-74fa66"},"children":[{"type":"text","value":"return"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"class":"ct-fc57c0"},"children":[{"type":"text","value":"get"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"class":"ct-fc57c0"},"children":[{"type":"text","value":"cancel"}]},{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":" };"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-86dcb7"},"children":[{"type":"text","value":"};"}]}]}]}]}]},{"type":"element","tag":"style","children":[{"type":"text","value":".ct-3d579a{color:#8B949E}.ct-91a95e{color:#D2A8FF}.ct-c45372{color:#79C0FF}.ct-1b579c{color:#FF7B72}.ct-ed40b5{color:#A5D6FF}.ct-fc57c0{color:#C9D1D9}.ct-86dcb7{color:#C9D1D9}.ct-74fa66{color:#FF7B72}.light .ct-74fa66{color:#859900}.light .ct-86dcb7{color:#657B83}.light .ct-fc57c0{color:#268BD2}.light .ct-ed40b5{color:#2AA198}.light .ct-1b579c{color:#073642}.light .ct-c45372{color:#268BD2}.light .ct-91a95e{color:#268BD2}.light .ct-3d579a{color:#93A1A1}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:Frontend:React:Axios with AbortController.md","_source":"content","_file":"Frontend/React/Axios with AbortController.md","_extension":"md"}