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
...
我正在写一个方法,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
...