gpt4 book ai didi

Node.js:我应该在错误时丢弃请求吗?

转载 作者:行者123 更新时间:2023-12-03 08:55:56 24 4
gpt4 key购买 nike

当我使用 Node.js 构建服务器时。请求有时会失败。例如,解析 POST 数据时可能会出错。发生任何错误时:

  • 我是否应该继续处理请求并冒一些 POST 数据可能损坏或丢失的风险并像什么都没发生一样做出响应(或响应并通知用户发生了一些错误)?
  • 尝试重新解析 POST 数据(如果失败,比如说 3 次,停止尝试,将错误添加到错误日志并向用户显示错误页面)?
  • 立即停止请求处理并抛出 500 错误?

  • 什么是最好的方法?

    最佳答案

    在这种情况下要问自己的关键问题是 IMO:

  • 我知道错误发生的原因吗?
  • 我可以从中恢复吗?

  • 答案完全取决于您的应用程序。通常,只有在您可以期待下一次尝试的不同结果时,重试才有意义。这通常适用于与外部系统集成时的各种意外错误。另一方面,如果您收到的错误清楚地表明它收到了例如一个错误的请求,或者一个文件不存在,那么无论你重试多少次相同的操作,这可能都不会改变。
    如果您的业务规则允许您在完全忽略错误的情况下继续操作,那么就这样做。如果您的业务规则允许您部分执行请求并且您能够报告部分失败 - 然后这样做。如果错误阻止了对请求的任何处理,那么您将不得不终止它并向用户报告。
    在我看来,你有一个特殊的情况,所以让我来解决请求正文重新解析。在适当的系统中执行此操作 应该 完全没有意义 - 如果您期望不同的结果,那么您的设置存在根本性错误,因为请求的正文 收到后不应更改 .您的应用程序不应该以任何方式修改请求数据。
    作为更一般的规则 - 如果您预计应用程序中可能会发生意外情况,但您不知道何时、为什么或如何,那么应用程序的结构/执行方式存在问题。您应该拥有自己的代码并确切地知道它的作用。

    关于Node.js:我应该在错误时丢弃请求吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25448173/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com