Estoy usando el enlace useAsync, como se describe en https://usehooks.com/useAsync/ El código existente funciona bien, algo como esto:
const useAsync = (asyncFunction, immediate = true) => { const execute = useCallback(() => { return asyncFunction() .then((response) => { console.log('SUCCESS', resposne) }) }, [asyncFunction]); return { execute}; } const Component = () => { const getFile = async () => { const payload = { fileId }; return getFileInfo(payload); }; const { execute } = useAsync(getFile, false); useEffect(() => {execute()}, []); }Pero necesito modificar useAsync de modo que agregue un Token como un parámetro adicional a la función async que se le da. Algo como:
const useAsync = (asyncFunction, immediate = true) => { const execute = useCallback(() => { // GET THE TOKEN getAccessToken().then((token) => { return asyncFunction() // ADD token AS A PARAM HERE SOMEHOW? .then((response) => { console.log('SUCCESS', resposne) }) } }, [asyncFunction]); return { execute}; } Sospecho que podría necesitar bind() ( MDN-Bind ) el token a la función asyncFunction dada como un parámetro adicional, pero no puedo hacer que funcione. ¿Alguna sugerencia?