在尝试调用缓存之前,有没有办法检查Apollo是否有数据缓存?

问题描述 投票:0回答:1

我需要在尝试调用缓存中的数据查询之前,找出Apollo是否有数据缓存。

这段代码抛出了 "Invariant Violation: Can't find field ...... on object" 错误,如果我们还没有调用USER_QUERY。但是我没有办法检查我们是否调用过它,我的问题是我不知道如何在调用任何缓存之前检查我们是否已经缓存了数据。

const cachedData = client.readQuery({
   query: USER_QUERY,
   variables: queryVariables,
});

我的问题是我不知道如何在调用任何缓存之前检查我们是否已经缓存了数据。

graphql apollo react-apollo apollo-client
1个回答
0
投票

你可以将 client.readQuery 捉迷藏 此处此处 ;)

try {
  const cachedData = client.readQuery({
     query: USER_QUERY,
     variables: queryVariables,
  });
} catch(e) {
  // maybe you can safely swallow the error
}
© www.soinside.com 2019 - 2024. All rights reserved.