Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 尝试使用Apollo客户端将JWT令牌从异步存储获取到请求头时未处理的承诺拒绝_Javascript_React Native_Graphql_Apollo_Apollo Client - Fatal编程技术网

Javascript 尝试使用Apollo客户端将JWT令牌从异步存储获取到请求头时未处理的承诺拒绝

Javascript 尝试使用Apollo客户端将JWT令牌从异步存储获取到请求头时未处理的承诺拒绝,javascript,react-native,graphql,apollo,apollo-client,Javascript,React Native,Graphql,Apollo,Apollo Client,我正在使用Apollo client的setContext和createHttpLink函数将JWT令牌从存储器中输出到请求头上,但我一直收到一个错误: [未处理的承诺拒绝:错误:响应未成功:收到状态代码500] 当我像这样创建apollo客户端对象时,我的应用程序运行得非常好: const client = new ApolloClient({ uri: 'http://<myIPaddress>:4000/graphql', cache: new InMemoryCach

我正在使用Apollo client的setContext和createHttpLink函数将JWT令牌从存储器中输出到请求头上,但我一直收到一个错误:
[未处理的承诺拒绝:错误:响应未成功:收到状态代码500]

当我像这样创建apollo客户端对象时,我的应用程序运行得非常好:

const client = new ApolloClient({
  uri: 'http://<myIPaddress>:4000/graphql',
  cache: new InMemoryCache()
});

500
通常表示服务器端错误。这个错误可能不在客户端。我也是这么想的,但是当这个错误被执行时,我的服务器上什么也没有发生。它只是在客户端崩溃时保持正常运行。您应该在浏览器devtools的“网络”选项卡中查找返回的
500
,并查看错误是否包含更多信息。
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()
});
import {
  ApolloClient,
  ApolloProvider,
  createHttpLink,
  InMemoryCache
} from '@apollo/client';
import { setContext } from '@apollo/client/link/context';