我想向EJS中的app.locals函数返回true或false,但它什么也不返回,返回不起作用。下面是我的代码:
app.locals.isAdmin = async(uidd) => {
var check = await Admins.find({
userID: [uidd]
}).then(result => {
var result = result.toString();
if(result !== ""){
console.log("Is admin")
return true;
}else{
console.log("Is not admin")
return false;
}
})
};发布于 2020-09-07 23:36:17
回答
由于您正在使用异步函数await负责展开您的promise,因此,您不再需要调用.then()。我推荐使用以下代码。
代码
app.locals.isAdmin = async(uidd) => {
var result = await Admins.find({
userID: [uidd]
});
var check = checkAdmin(result.toString());
return check;
};
function checkAdmin(value) {
if(value !== ""){
console.log("Is admin")
return true;
}
console.log("Is not admin")
return false;
}参考文献
https://stackoverflow.com/questions/63780322
复制相似问题