[英]NodeJS return the boolean value instead of promise pending
我需要从下面我的代码的第二个 function 返回一个 boolean 值。 但是,返回isValidOrg
给了我Promise { <pending> }
而 console.logging 变量给了我需要的答案。 在我的情况下是否有可能返回 0 或 1?
const GetOrganization = userId => {
return User.aggregate([
{ $match: { _id: mongoose.Types.ObjectId(userId) } },
{
$project: {
_id: 0,
organization: 1
}
}
])
}
async req => {
const token = req.headers['authorization'].substr(7);
const secret = req.headers['x-client-secret'];
const xOrg = req.headers['x-organization']
const { _id } = jwt.verify(token, secret)
const isValidOrg = await GetOrganization(_id).then(res => {
return xOrg !== res[0].organization ? 0 : 1
})
console.log(isValidOrg)
return isValidOrg // <-- This line here returns Promise { <pending> }, I need 0 or 1
}
这个用例是完全错误的。
const isValidOrg = await GetOrganization(_id).then(res => {
return xOrg !== res[0].organization ? 0 : 1
})
为什么要链接。那么,只需将其分配给 isValidOrg 并在下一行中对其进行评估。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.