如何解决尝试使用 Apollo Client 从异步存储获取 JWT 令牌到请求标头时未处理的承诺拒绝
我正在使用 Apollo 客户端的 setContext 和 createHttpLink 函数将 JWT 令牌从存储中输出到请求标头上,但我不断收到错误消息:
[Unhandled promise rejection: Error: Response not successful: Received status code 500]
当我像这样创建 apollo 客户端对象时,我的应用程序运行得非常好:
const client = new ApolloClient({
uri: 'http://<myIPaddress>:4000/graphql',cache: new InMemoryCache()
});
但是,我一直在关注 apollo 客户端文档,而是使用了这段代码:
const httpLink = createHttpLink({uri: 'http://<myIPaddress>:4000/graphql'});
const authLink = setContext(async (req,{ headers }) => {
const token = await AsyncStorage.getItem('AUTH_TOKEN');
return {
headers: {
...headers,Authorization: token ? `Bearer ${token}` : null
}
};
});
const client = new ApolloClient({
link: authLink.concat(httpLink),cache: new InMemoryCache()
});
但是每当我尝试运行我的任何 graphql 查询或突变时,这都会使我的应用程序完全崩溃。任何帮助将不胜感激。
这是我的导入:
import {
ApolloClient,ApolloProvider,createHttpLink,InMemoryCache
} from '@apollo/client';
import { setContext } from '@apollo/client/link/context';
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。