如何告诉中继它应该重试失败的交易?
答案 0 :(得分:2)
据我所知,Relay不会自动重试失败的突变(事务),但会根据你的NetworkLayer配置重试查询
Relay.injectNetworkLayer(
new Relay.DefaultNetworkLayer('http://example.com/graphql', {
fetchTimeout: 30000, // Timeout after 30s.
retryDelays: [5000], // Only retry once after a 5s delay.
})
);
对于突变,您可以使用getPendingTransactions
来获取记录上的交易,检查交易状态,并在需要时重新发送。
这可能会对您有所帮助:https://github.com/facebook/relay/blob/master/docs/APIReference-Container.md#getpendingtransactions