javascript - 尝试使用 Apollo 客户端将我的 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';
解决方案
推荐阅读
- css - 如何渲染多行文本组件,行间有白色间隙
- python - Having multiple correct answers in a user defined dictionary
- vba - 如何检测单元格是否由“=IF()”公式而不是用户更改
- java - Color Grading using LUT and PShader
- laravel - Laravel 向数据库中的地址发送电子邮件
- javascript - ExtJS - 带有商店的组合框添加自定义选择
- javascript - how to close a particular link on click button using javascript?? window.close is closing my current window only
- css - Excel 导出中的 ClientGroupHeaderTemplate (Kendo ASP.NET MVC)
- java - 运行 Selenium 脚本时 Chrome 无法正确关闭
- javascript - load vrml in an angular project using three-full