Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js NodeJS返回布尔值,而不是promise pending_Node.js_Promise_Es6 Promise - Fatal编程技术网

Node.js NodeJS返回布尔值,而不是promise pending

Node.js NodeJS返回布尔值,而不是promise pending,node.js,promise,es6-promise,Node.js,Promise,Es6 Promise,我需要从下面代码的第二个函数返回一个布尔值。然而,返回isValidOrg给了我承诺{},而console.logging变量给了我需要的答案。在我的情况下,是否有可能返回0或1 const GetOrganization = userId => { return User.aggregate([ { $match: { _id: mongoose.Types.ObjectId(userId) } }, {

我需要从下面代码的第二个函数返回一个布尔值。然而,返回isValidOrg给了我承诺{},而console.logging变量给了我需要的答案。在我的情况下,是否有可能返回0或1

const GetOrganization = userId => {
    return User.aggregate([
            { $match: { _id: mongoose.Types.ObjectId(userId) } },
            {
              $project: {
                _id: 0,
                organization: 1
              }
            }
        ])
}

这个用例是完全错误的

const isValidOrg = await GetOrganization(_id).then(res => {
        return xOrg !== res[0].organization ? 0 : 1
})

为什么要链接。然后,只需将其分配给isValidOrg,并在下一行中对其进行评估。

这是否回答了您的问题?所有异步函数都返回一个承诺-始终。这就是Javascript语言中异步函数的工作方式。异步函数的调用方必须使用.then或WAIT从该承诺中获取返回值。不能从异步函数返回普通值。
const isValidOrg = await GetOrganization(_id).then(res => {
        return xOrg !== res[0].organization ? 0 : 1
})