你如何重试中继交易

时间:2015-11-24 21:42:40

标签: relayjs

如何告诉中继它应该重试失败的交易?

1 个答案:

答案 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