【问题标题】:Expected behavior for missing callbacks when providing a module API提供模块 API 时缺少回调的预期行为
【发布时间】:2015-08-25 07:11:14
【问题描述】:

希望这不是太抽象,但我正在寻找有关创建 Node 模块 API 时预期行为的建议。我发现在我的模块实现中,检查以确保调用者在我调用它之前提供了一个回调变得混乱。我开始认为它的用户错误是没有为显然需要一个 API 来完成其工作的 API 提供回调。

作为 Node 初学者,模块的一般模式是什么?我查看了 Node 源代码本身。似乎在某些地方,他们使用了一个函数,该函数将未提供的回调与引发错误的通用回调交换。不过,这似乎可能会导致混乱。

谢谢

【问题讨论】:

  • 一种常见模式 - 将不引用回调函数解释为执行同步方法的顺序。

标签: javascript node.js


【解决方案1】:

您可以提供默认回调。根据您的需要和回调的重要性,您可以提供一个noop 函数或仅提供一个仅检查是否有任何错误的函数。

if (!callback) {
  callback = function noop() {}
}

抛出或显示您将决定的错误。 (最好不要抛出大多数情况)

if (!callback) {
  callback = function handleError(e) {
               if (e) console.log(e);
               // Or
               if (e) throw(new Error(e))
             }
}

【讨论】:

    猜你喜欢
    • 2011-12-09
    • 2021-07-16
    • 1970-01-01
    • 2018-02-07
    • 2018-01-19
    • 2014-01-08
    • 2019-05-14
    • 2018-07-22
    • 1970-01-01
    相关资源
    最近更新 更多