阿波罗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个控制台日志。