我试图在使用 swr 获取数据之前将标头注入到我的 fetcher 中。我需要等待自定义钩子响应数据,然后才能将其注入自定义提取器。
如果我使用 promise.then 我知道我正在获取相关数据,并且如果我使用字符串手动注入它,它会起作用并且我会看到标题。它只是异步进行
我该怎么做呢?
代码:
export const useApi = async (gql: string) => {
const { acquireToken } = useAuth()
await acquireToken().then(res => { graphQLClient.setHeader('authorization', `Bearer ${res.accessToken}`) })
const { data, error } = useSWR(gql, (query) => graphQLClient.request(query));
const loading = !data
return { data, error, loading }
}