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 err;
            callback(rows);
        });
}

由于对 findById() 方法的回调采用两个参数,即 erruser,我想知道我是否'我们以正确的方式定义了该函数。代码可以工作还是我必须以不同的方式将参数传递给回调?

最佳答案

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

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

或者,由于您没有在 connection.query 回调中执行任何转换/修改,因此您可以直接将 findById 回调传递给 connection .查询:

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

关于javascript - 将错误返回到 Node.js 中的回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25497906/

相关文章:

javascript - 定义变量时的逗号运算符

node.js - 删除未使用的导入是否会对 Reactjs 中的包大小和构建时间产生影响

javascript - 一致的设备ID

javascript - ".000Z"的 "yyyy-mm-ddT00:00:00.000Z"是什么意思?

javascript - 我的 sql 内容到 javascript 数组

security - Node.js 泄漏路径信息,如何解决?

javascript - 为 Hubot 添加 Post 支持

mysql - Node mysql检查和更新foreach循环

javascript - 如何从html元素获取数组索引?

javascript - javascript 文本旋转器的初始间距问题