如何调试此错误:
这是简单的代码,但我不知道为什么我会收到错误。
module.exports.cliente = function(application, req, res){
var cliente_id = req.query.id;
console.log('cliente_id em cliente', req.query.id)
var connection = application.config.dbConnection;
var ClientesDAO = new
application.app.models.backOffice.ClientesDAO(connection);
ClientesDAO.dadosCliente(cliente_id, function(err, dadosCliente){
console.log('dadosCliente', dadosCliente)
if (err) {
console.log('entrou err getDadosCliente')
return (err);
}
console.log('entrou resolve getDadosCliente')
console.log('dadosClienteE', dadosCliente)
})
}
我的dadosCliente模块:
ClientesDAO.prototype.dadosCliente = function(clienteid, callback){
console.log('clienteid em dadosCliente', clienteid)
var client_id = new ObjectId.ObjectID(clienteid);
this._connection.open(function(err, mongoClient){
mongoClient.collection('clientes', function(err,collection){
collection.find({_id:client_id}).toArray(function(err,result){
console.log('dadosCliente result', result)
callback(result);
mongoClient.close();
})
})
})
}
现在我的日志:
cliente_id em cliente 5a4685503fdc5a2a616cd5e1
clienteid em dadosCliente 5a4685503fdc5a2a616cd5e1
dadosCliente result [ { _id: 5a4685503fdc5a2a616cd5e1,
nome: 'Eva Oliveira',
idade: '42',
genero: 'feminino',
email: 'eva.olveira@gmail.com' } ]
dadosCliente undefined
entrou err getDadosCliente
答案 0 :(得分:0)
您正在接听此电话
ClientesDAO.dadosCliente(cliente_id,function(err,dadosCliente){
一个等待2个参数的回调函数。
之后,在您的dadosCliente模块中,您只使用一个参数调用回调函数,这应该是错误。因此,您应该使用结果前面的错误调用回调方法:
callback(err, result);