我有一个显示微调器的renderLoading
函数。我还有一个renderFailure
函数,其中包含一个按钮,允许用户重试失败的请求。最后,我的网络层配置了超时和重试延迟:
fetchTimeout: 10000,
retryDelays: [1000, 2000, 4000, 8000, 8000],
如果我将本地graphql服务器脱机并加载我的应用程序,加载微调器就会旋转。如果我在几秒钟内启动服务器,则会加载数据,因此重试正常。
但是,如果我只进行2次重试(retryDelays: [1000, 2000]
),请将我的服务器脱机,重新加载我的应用程序并等待,加载微调器永远不会被我{{1}中的重试按钮所取代功能。如果我将我的服务器重新联机,则不会加载任何数据,这表明没有按预期进行重试。
这是一个错误还是我错过了什么?如果所有网络请求都超时并且没有重试尝试,为什么不中继呼叫renderFailure
(我已经单独测试并且它可以工作)?