如何避免Apollo Client在失败的请求上引发错误?

问题描述

所以我的目标是做到这一点,以便如果apollo客户端无法连接到后端以获取数据,则应用程序应该显示错误屏幕。

为此,我使用了makeVar和apollo-link错误并创建了以下变量和错误链接

export const hasError = makeVar(false);

const errorLink = onError(({ networkError }) => {
  if (networkError) {
    hasError(true);
  }
});

....

errorLink.concat(httpLink)

效果很好,因为现在我的整个应用程序都可以访问该值,如下所示:

import { hasError } from "../app/services/graphql";

const networkError = hasError();

  useEffect(() => {
    if (networkError) setCurrentScreen("error");
  },[networkError]);

问题是即使有所有这些,当获取失败并且我最终看到此页面时,Apollo仍会引发错误

enter image description here

所以我的问题是:有什么方法可以使Apollo忽略这些失败的网络请求,并让我进行处理而不会引发错误

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)