muerwre.github.io/api/_content/query/CMMQ5oxSPg.json
muerwre fd67cfb1bd commit cf026aecf766cecc91739c56833cbe0550891994
Author: Fedor Katurov <gotham48@gmail.com>
Date:   Sun Nov 27 19:29:56 2022 +0600

    added webgl basics
2022-11-27 13:32:08 +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-f863c4"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"class":"ct-fa71d0"},"children":[{"type":"text","value":"useCallback"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"class":"ct-fa71d0"},"children":[{"type":"text","value":"useRef"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"class":"ct-f863c4"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-13ab2b"},"children":[{"type":"text","value":"\"react\""}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":";"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-f863c4"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-fa71d0"},"children":[{"type":"text","value":"axios"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f863c4"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-13ab2b"},"children":[{"type":"text","value":"'axios'"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"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-72a735"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-c42aa5"},"children":[{"type":"text","value":"client"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f863c4"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-fa71d0"},"children":[{"type":"text","value":"axios"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-b31a6c"},"children":[{"type":"text","value":"create"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"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-f863c4"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-72a735"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-b31a6c"},"children":[{"type":"text","value":"useGetUsers"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f863c4"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" () "}]},{"type":"element","tag":"span","props":{"class":"ct-72a735"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-72a735"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-c42aa5"},"children":[{"type":"text","value":"controller"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f863c4"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-b31a6c"},"children":[{"type":"text","value":"useRef"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-f863c4"},"children":[{"type":"text","value":"new"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-b31a6c"},"children":[{"type":"text","value":"AbortController"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":"());"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-72a735"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-c42aa5"},"children":[{"type":"text","value":"get"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f863c4"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-b31a6c"},"children":[{"type":"text","value":"useCallback"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-72a735"},"children":[{"type":"text","value":"async"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" () "}]},{"type":"element","tag":"span","props":{"class":"ct-72a735"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-72a735"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-c42aa5"},"children":[{"type":"text","value":"result"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f863c4"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f863c4"},"children":[{"type":"text","value":"await"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-fa71d0"},"children":[{"type":"text","value":"client"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-b31a6c"},"children":[{"type":"text","value":"get"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-13ab2b"},"children":[{"type":"text","value":"\"/\""}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":", {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-573f6e"},"children":[{"type":"text","value":"// params and props here"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" signal: "}]},{"type":"element","tag":"span","props":{"class":"ct-fa71d0"},"children":[{"type":"text","value":"controller"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-fa71d0"},"children":[{"type":"text","value":"current"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-fa71d0"},"children":[{"type":"text","value":"signal"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"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-40e9ef"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f863c4"},"children":[{"type":"text","value":"return"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-fa71d0"},"children":[{"type":"text","value":"result"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-fa71d0"},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":";"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"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-40e9ef"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-72a735"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-c42aa5"},"children":[{"type":"text","value":"cancel"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f863c4"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-b31a6c"},"children":[{"type":"text","value":"useCallback"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":"(() "}]},{"type":"element","tag":"span","props":{"class":"ct-72a735"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-fa71d0"},"children":[{"type":"text","value":"controller"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-fa71d0"},"children":[{"type":"text","value":"current"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-b31a6c"},"children":[{"type":"text","value":"abort"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":"();"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" "}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-573f6e"},"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-40e9ef"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-fa71d0"},"children":[{"type":"text","value":"controller"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-fa71d0"},"children":[{"type":"text","value":"current"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f863c4"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f863c4"},"children":[{"type":"text","value":"new"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-b31a6c"},"children":[{"type":"text","value":"AbortController"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":"();"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" }, ["}]},{"type":"element","tag":"span","props":{"class":"ct-fa71d0"},"children":[{"type":"text","value":"controller"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"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-40e9ef"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f863c4"},"children":[{"type":"text","value":"return"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"class":"ct-fa71d0"},"children":[{"type":"text","value":"get"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"class":"ct-fa71d0"},"children":[{"type":"text","value":"cancel"}]},{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":" };"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-40e9ef"},"children":[{"type":"text","value":"};"}]}]}]}]}]},{"type":"element","tag":"style","children":[{"type":"text","value":".ct-573f6e{color:#8B949E}.ct-b31a6c{color:#D2A8FF}.ct-c42aa5{color:#79C0FF}.ct-72a735{color:#FF7B72}.ct-13ab2b{color:#A5D6FF}.ct-fa71d0{color:#C9D1D9}.ct-40e9ef{color:#C9D1D9}.ct-f863c4{color:#FF7B72}.light .ct-f863c4{color:#859900}.light .ct-40e9ef{color:#657B83}.light .ct-fa71d0{color:#268BD2}.light .ct-13ab2b{color:#2AA198}.light .ct-72a735{color:#073642}.light .ct-c42aa5{color:#268BD2}.light .ct-b31a6c{color:#268BD2}.light .ct-573f6e{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"}