Nodejs result and error handling - 'TypeError: callback is not a function

Nodejs result and error handling - 'TypeError: callback is not a function

我正在写一个方法,return要么是结果要么是错误。

myMethod.methodName = (param1, param2, param3, error, callback) => {
    try {
        myDB.findOne({ param1: value}, function (err, result) {
            if (err) {
                throw(err);
            }
            if (result) {              
              callback(result);
        });

    } catch (e) {
        error(e);
    }
};

从调用函数,我调用它如下:

myExport.data.methodName(param1, param2, param3, (err, result) => {
        if (err) {
            console.log("Result error:", err);
        }
        if (result) {
            console.log('result : ', result);
        }
    });

这里我遇到了一个错误:'TypeError: 回调不是一个函数

如何实现一个方法调用 return 错误或结果以及如何处理它?

methodName() 有 5 个参数,第 5 个是回调。您在调用该方法时将回调作为第四个参数传递,因此 methodName() 回调实际上为空。因此错误。

你的来电是正确的。像这样更改您的方法定义:

myMethod.methodName = (param1, param2, param3, callback) => {
    try {
        myDB.findOne({ param1: value}, function (err, result) {
            if (err) {
                return callback(err);
            }
            return callback(null, result);
            //rest of the code as-is
            ...