【问题标题】:Node callbacks; else blocks vs return [closed]节点回调;其他块与返回[关闭]
【发布时间】:2014-07-17 20:32:39
【问题描述】:

我经常看到 node.js 程序员,在调用需要回调的函数时,这样做:

callSomeThing(arg1, arg2, function (err, data) {
   if(err) {
       // Handle the error case
   } else {
       // Proceed normally
   }
});

他们使用 else 块而不是在错误情况下返回是否有任何技术原因,或者这只是代码风格的事情?

callSomeThing(arg1, arg2, function (err, data) {
   if(err) {
       // Handle the error case
       return;
   } 
   // proceed normally
});

【问题讨论】:

  • 这与回调甚至节点有什么关系?这只是关于编码风格的一个共同点,不是吗?一些编码员更喜欢对称(第一种情况),另一些更轻(第二种情况)。
  • 我有一位同事告诉我,由于与异步有关的事情,节点会特别关心。我倾向于同意你的观点;这只是一种代码风格的东西——但我被明确告知不是这样。
  • 我更喜欢使用第二种样式验证函数顶部的输入参数。它有助于避免大量 if - else 语句,而且我总是知道,毕竟 if,我有有效的数据。

标签: node.js callback flow-control


【解决方案1】:

这只是编码风格的问题。 但我会推荐第二种方法,因为它更清晰并降低了整体复杂性。

【讨论】:

  • 缩进更少,更简洁,在嵌套回调较多时很有用。
  • 当你嵌套很多回调时,寻找promise。
猜你喜欢
  • 2021-05-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-29
  • 2020-09-25
相关资源
最近更新 更多