在客户端处理503响应

时间:2020-08-06 13:41:45

标签: reactjs web client http-status-code-503

我正在使用一些公共api,有时会从此api 503响应中获得-我理解是因为服务器暂时无法处理请求(超载)。

我想知道在客户端(响应)中处理这种情况的最佳实践是什么,因为我知道如果再次发送请求,我将获得有效数据。

  • 我是否需要继续发送超时请求?还是我需要扔给用户说再加载一次? 任何帮助都是完美的

3 个答案:

答案 0 :(得分:0)

在“如果我再次发送请求,我将获得有效数据”的情况。我建议您在超时后再次发送请求。

如您所知,如果再次发送请求,您将获得有效数据,这比让用户再次重新加载页面更有意义。

在请求获取数据时,您可以向用户显示加载情况。

答案 1 :(得分:0)

我认为您必须让用户知道该情况作为警告,并在后台尝试每5或10秒(您的选择)获取数据。

在后端,您可以检查这种方法的“断路器”。

如果您正在开发移动应用程序或PWA(如果具有本地托管数据),则可以在本地存储中管理更改,并在建立连接后将其与api同步(如果后端提供了此功能)。

答案 2 :(得分:0)

有多种处理方式,通常取决于项目要求来决定。 因此,可以的一种处理重复请求的方法。几乎没有什么要考虑的:您不想发送垃圾邮件请求来解决已经遇到的麻烦,因此您可能希望限制重试次数并使用指数函数(每个下一次重试要等待更长的时间)。如果您使用axois,则可以尝试axios-retry,否则在fetch周围实现一些包装并不难。 也可以将此决定委托给用户-即显示一些错误并重试按钮。