0

我如何告诉中继它应该重试失败的事务?

4

1 回答 1

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

于 2015-11-25T00:07:09.537 回答