【发布时间】:2018-10-17 12:21:05
【问题描述】:
我必须这样做
doSomething
.then(success)
.catch(failure);
成功和失败是回调函数,它们会在运行时获取它们的值(我正在尝试编写一个模块)。
所以我要知道作为回调发送的函数失败应该有一个参数。
因为回调应该是这样的
function(error) {
// An error happened
}
在 JS 中有没有办法做到这一点?或者任何使这种检查成为可能的库?
编辑
只是为了澄清。我希望使用我的模块的用户(不是最终用户)发送一个函数作为参数,该参数将成为回调,我想检查发送的函数(将被回调)是否有足够的参数需要。我知道这取决于使用它的人来解决这个问题。但是为什么不试试呢?
【问题讨论】:
-
每个函数中都暴露了一个
arguments数组,你可以用它来判断是否设置了任何参数,这是你想要的吗? -
您为什么需要知道这些?提供该功能的人对其行为负责。如果他们不想定义参数,它不应该影响你的代码。
-
更广泛地说,如果您希望编译时类型安全,可以使用 JS 的静态类型检查器,但这似乎超出了这个问题的关注范围。
-
...您对术语的某些使用令人困惑。有时听起来您想验证从其他人那里收到的回调,而有时您想知道应该在自己的回调中定义哪些参数。你会从两个角度得到答案。
标签: javascript node.js callback javascript-objects