【发布时间】:2017-08-24 04:43:16
【问题描述】:
我在另一个文件中有一个函数,该函数假设检查数据库中是否有管理员,如果没有创建他。如果到最后数据库中有管理员(创建或已经存在),则返回 true,否则返回 false。
/*AdminUser.js*/
const Admin = require('../models/admin');
const mongoose = require('mongoose');
module.exports = {
validate: function() {
Admin.getAdminByRealID("1212", (error, admin) => {
if (admin) {
console.log("Main admin is Booted");
return true;
} else {
console.log("Booting main admin");
let newAdmin = new Admin({
ID: "1212",
account: {
username: "Admin",
password: "1212",
token: "Admin"
},
name: {
first: "Admin",
last: "Delta"
},
communication: {
email: "delta@example.com",
phone: "1212"
}
});
Admin.addAdmin(newAdmin, (error, admin) => {
if (error) {
console.log("Admin reboot failed");
return false;
} else {
console.log("Admin have been initialized");
return true;
}
});
}
});
}
}
在主应用程序中,我有这个:
if (AdminUser.validate()) {
app.listen(port, () => {
console.log('Server started on port: ' + port);
});
} else {
console.log('Fail to run Server');
process.exit();
}
函数 (.validate) 总是返回一个“未定义”对象并且服务器无法启动。有人能解释一下为什么返回值不是 True/False 吗?
函数(.validate)确实打印“主管理员已启动”,我猜它在下一行返回真值。
使用 app = express();
【问题讨论】:
标签: javascript express