【问题标题】:Apollo client and on/offline eventsApollo 客户端和在线/离线事件
【发布时间】:2019-12-09 14:53:30
【问题描述】:

我从最近几天开始就在寻找这个,几乎把我所有的头发都扯掉了!甚至不确定它是否可能与 apollo-client 一起使用。

是否有一个钩子/发布订阅/事件,我可以使用它来了解应用何时离线以及何时上线?我会认为,因为阿波罗在内部处理这些事情,它会提供一些东西来挂钩。

对于我的小 poc,获取策略设置为“无缓存”并尝试将“notifyOnNetworkStatusChange”设置为 true 和 false,但没有运气。

到目前为止,我已经尝试过以下操作:

  • 使用 apollo-link-error :尝试使用网络错误但它没有触发。
  • <Query ..> 上:尝试使用 OnError 但没有触发
  • <Query ..> 结果:尝试使用 NetworkStatus,但设置为 1 或 7 都无济于事。

非常感谢任何帮助。

P

【问题讨论】:

  • 你到底想做什么? Most browsers 已经支持events for that
  • 我是因为我缺乏使用 apollo 的经验,但是 a)我们希望向用户显示应用程序处于离线状态的状态,这可以通过您所说的轻松完成 b)有反应-table 组件在分页数据中表现不佳。所以我们想做的是当应用离线时从缓存中获取数据(如果有的话)。
  • 听起来你可以just use a hook,而对于后者,只需相应地设置网络策略。

标签: javascript offline apollo react-apollo apollo-client


【解决方案1】:

我们能够通过 2 个过程实现这一点,如上所述,第一个使用浏览器事件检查网络可用性,第二个,让您的服务器通过 ping 它返回其在线状态,因为即使您可以访问互联网,您的服务器也可能关闭。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-18
    • 1970-01-01
    • 2020-01-20
    相关资源
    最近更新 更多