如何使用Apollo-Client为请求设置超时

时间:2017-11-09 09:38:27

标签: javascript react-native graphql apollo apollo-client

我有一个React-Native应用程序,我向GraphQL服务器发出请求。一切正常,但我需要一种方法将请求/客户端的超时设置为5或10秒。目前,该请求需要很长时间才能超时(大约1分钟)。

以下是我如何使用客户端的快速示例。

const client = new ApolloClient({
  networkInterface: createNetworkInterface({
    uri: `${config.server_hostname}/graphql`
  })
});

client.query({ query: gqlString });

我无法通过StackOverflow,谷歌搜索或Apollo的文档找到任何解决方案。

1 个答案:

答案 0 :(得分:1)

Apollo客户端使用(v1.9apollo-link-http)fetch API来发送请求。因此有is no cross-browser way to abort a fetch。您可以创建自己的网络接口或链接,并使用以下内容:

'YOUR_PROJECT.main' #use your project name

但要小心,因为这实际上并没有中止请求。您最终可能会遇到大量运行请求并达到浏览器限制。

BTW看起来像is prepared的apollo-link-http AbortController; - )