我是Node的新手,但是很开心,我在尝试将数据传递给具有两个参数err/argTime的函数时遇到了一个问题。例如:function(err,argTime)。
这对我有用:
queryTrigger(moment()); //the call
//more code...
function queryTrigger(argTime) {
console.log(argTime);
};
这不起作用:
queryTrigger(moment()); //the call
//more code...
function queryTrigger(err, argTime) {
if(err) {
throw err;
} else {
console.log(argTime);
};
};
非常感谢任何见解!
最佳答案
您需要传递一个值作为错误,但是如果没有,则可以使用null
或undefined
作为值(不代表任何错误)。
// No error:
queryTrigger(null, moment());
// Explicit error:
queryTrigger((new Error('Error!')), moment());
// Variable error from function response:
queryTrigger(isErrored(), moment());
为了回答您的后续评论,通常仅在调用异步函数(其中错误在主事件循环之外引发)时才需要这种模式-如果您不这样做,则可以使用
try/catch
来处理错误。我不同意this answer关于最佳做法的说法;基本上,
err
参数始终是第一个参数,其后是stdlib中几乎每个异步函数以及GitHub/npm上的大多数(好的)软件包。
关于node.js - 调用错误优先功能Node JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45745272/