Chaining apollo retryLink and errorLink



阿波罗retryLink应该在errorLink之前还是之后?有些例子显示的是以前的样子https://medium.com/@joanvila/productionizing-apollo-links-4cdc11d278eb#3249,而有些例子显示的是https://www.apollographql.com/docs/react/api/link/apollo-link-rest/#link-order之后的样子。

这取决于你想要你的errorLink逻辑如何工作,从文档

可加性组合包括将一组链接组合成一个连续执行的链

和错误链接

在GraphQL操作完成并返回向上移动后调用。您的链接链

所以如果你把retryLink放在errorLink之前

ApolloLink.from([retryLink, errorLink])

errorLink也将在重试时执行,一旦各自的结果返回到链中,换句话说(如果您使用默认的docs示例),每次尝试都应该有一个控制台日志和attempts.max控制台日志。

如果顺序被翻转,errorLink将在retryLink完成后被调用,并且结果将一路返回,因此errorLink调用应该有1个控制台日志。

最新更新