我现在正在学习节点,我对错误参数感到困惑.
我认为它应该是回调函数的第一个参数,但我在许多回调函数中都没有看到它.有谁可以向我解释一下?谢谢! 最佳答案 特别是有许多不同类型的函数和回调函数.回调函数的Node.js标准是以下形式:
function(err, arg1, arg2, ...)
其中arg1等仅在相关时出现,但错误的参数始终是第一个.这与许多历史JavaScript代码相反,其中错误将是最后一个参数.
即使没有错误也将强制错误作为第一个参数的Node.js方法使得忽略错误更加困难,你很少忘记声明该参数,并使其位置可预测.
现在这仅适用于通用回调的情况.也就是说,在某些情况下,调用函数将在未来的某个时刻触发单个回调.你会看到他们像这样使用:
doStuff(function(err, successValue) { ... });
还有jQuery推广的风格,其中一个或多个回调将根据操作的结果被触发:
doStuff({
success: function(successValue) { ... },
error: function(err) { ... },
timeout: function() { ... }
});
请注意,在这种情况下,您可能同时触发错误和超时回调.你没有义务填充所有这些.
这种方法的缺点是哪些方法被调用的不可预测性以及无意中处理两次的风险.