我现在正在学习 node,我对 err 参数感到困惑。 我认为它应该是回调函数的第一个参数,但我在许多回调函数中都没有看到它。谁能给我解释一下?谢谢!
最佳答案
有许多不同种类的函数,尤其是回调函数。回调函数的 Node.js 标准是以下形式:
function(err, arg1, arg2, ...)
其中 arg1
等仅在相关时出现,但 err
参数始终位于第一个。这与许多历史 JavaScript 代码相反,错误是最后一个参数。
Node.js 强制将错误作为第一个参数的方法,即使没有错误也会使忽略错误变得更加困难,您很少会忘记声明该参数,并使它们的位置可预测。
现在这只适用于通用回调的情况。也就是说,在某些情况下,调用函数将在将来的某个时间点触发单一回调。你会看到它们是这样使用的:
doStuff(function(err, successValue) { ... });
还有一种由 jQuery 推广的样式,根据操作的结果,一个或多个 回调将被触发:
doStuff({
success: function(successValue) { ... },
error: function(err) { ... },
timeout: function() { ... }
});
请注意,在这种情况下,您可能同时触发了错误和超时回调。您也没有义务填写所有这些内容。
这种方法的缺点是无法预测哪些人会被调用,并且存在无意中处理两次的风险。
关于node.js - nodeJS回调错误参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37489314/