Javascript 我是节点js的新手,当我回调数据时,它显示回调不是函数
保存mongoose查询的函数Javascript 我是节点js的新手,当我回调数据时,它显示回调不是函数,javascript,nodes,Javascript,Nodes,保存mongoose查询的函数 module.exports.getSiteState = function(callback){ var data; Count.find(function(err,result){ if (err) { return callback(err); }else{ data = result[0].count; callback(err,data
module.exports.getSiteState = function(callback){
var data;
Count.find(function(err,result){
if (err) {
return callback(err);
}else{
data = result[0].count;
callback(err,data);
}
});
}
函数调用模型,当我使用return而不是callback时,它会在查询之前返回
var Data = require('../models/users');
router.get('/adminIndex', function(req,res){
//console.log(User.getSiteState());
var count = User.getSiteState();
console.log("1 "+count);
res.render('admin/adminIndex',{layout: 'adminLayout'});
})
getSiteState
函数不返回值。它是异步的,希望您将回调函数作为参数传递。然后可以使用此回调获取结果:
var Data = require('../models/users');
router.get('/adminIndex', function(req,res) {
User.getSiteState(function(err, count) {
console.log("1 "+count);
res.render('admin/adminIndex',{layout: 'adminLayout'});
});
});
events.js:160投掷者;//未处理的“error”事件^TypeError:callback不是/Users/jay/Desktop/nodeProjects/SmartCity/models/Users.js:88:4 at Query的函数。(/Users/jay/Desktop/nodeProjects/SmartCity/node_modules/mongoose/lib/model.js:3419:16)at/Users/jay/Desktop/nodeProjects/SmartCity/node_modules/kareem/index.js:264:21 at/Users/jay/Desktop/nodeProjects/SmartCity/node_modules/kareem/kareem/index.js:127:16 at _combinedTickCallback(internal/process/next\u tick.js:67:7)在进程中。_tickCallback(internal/process/next_tick.js:98:9)这是因为在调用
getSiteState()
时没有传递回调函数。另外,请将您的问题直接显示在那里的错误详细信息,然后删除您的评论。您的回调函数在哪里可能重复@杰卡迪亚