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){