Javascript 将错误返回到Node.js中的回调

Javascript 将错误返回到Node.js中的回调,javascript,node.js,Javascript,Node.js,我有以下代码: User.findById(id, function(err, user) { //blah blah }); findById方法在User模块中定义。看起来是这样的: exports.findById = function(id,callback) { connection.query("SELECT * FROM usertable", function (err, rows, fields) { if (err) throw er

我有以下代码:

User.findById(id, function(err, user) {
    //blah blah
});
findById
方法在
User
模块中定义。看起来是这样的:

exports.findById = function(id,callback) {
    connection.query("SELECT * FROM usertable", function (err, rows, fields) {
            if (err) throw err;
            callback(rows);
        });
}

由于对
findById()
方法的回调包含两个参数,即
err
user
,我想知道我是否以正确的方式定义了函数。代码会工作吗?还是我必须以不同的方式将参数传递给回调

如果出现错误,需要将
err
传递给回调,否则将
null
作为第一个参数传递,然后传递

exports.findById = function(id,callback) {
    connection.query("SELECT * FROM usertable", function (err, rows, fields) {
            if (err) return callback( err );
            return callback(null, rows);
        });
}
或者,由于您没有在
连接.query
回调中进行任何转换/修改,您可以直接将
findById
回调传递到
连接。query

exports.findById = function(id,callback) {
    connection.query("SELECT * FROM usertable", callback);
}

您需要使用2个参数调用回调:
callback(err,rows)
或将
User.findById(id,函数(err,User){
更改为
User.findById(id,函数(User){