【问题标题】:Promises without `.then`没有`.then`的承诺
【发布时间】:2016-03-25 10:47:58
【问题描述】:

使用只有.catch 部分但根本没有.then 的promise 有什么缺点吗?

我问的是不需要解析结果,只需要错误处理的情况。

仅依赖.catch 并跳过.then 这是一个很好的模式吗?

还是取决于它是哪个承诺实现?

【问题讨论】:

    标签: promise


    【解决方案1】:

    从概念上讲,只有错误处理程序并且在成功完成后无事可做的操作没有任何问题。如果这就是它所需要的,那很好。例如,假设您正在使用来自客户端的一些新数据更新服务器。如果数据成功发送到服务器,则无需执行任何其他操作,因为操作已完成,但如果出现错误,则可能需要执行其他操作(重试,通知用户,根据错误代码更正数据等...)。

    要评论这是否是设计特定代码的正确方法,我们必须查看实际代码并了解它在做什么,然后就这是否是构建特定代码的最佳方式形成意见。

    如果我正在设计一个通用功能,我当然会同时提供完成(解决承诺)和错误(拒绝承诺),以便调用者可以挂接到其中任何一个。但真正取决于调用者他们想知道哪些事件,如果只有错误很重要,那么只需 .catch() 就可以了。

    【讨论】:

      猜你喜欢
      • 2016-06-02
      • 2021-10-17
      • 2015-01-23
      • 2017-09-04
      • 2016-01-21
      • 1970-01-01
      • 2016-11-25
      • 2016-03-09
      • 2020-07-01
      相关资源
      最近更新 更多