Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.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
Javascript 将数组推入常量内部。然后_Javascript_Node.js_Sequelize.js - Fatal编程技术网

Javascript 将数组推入常量内部。然后

Javascript 将数组推入常量内部。然后,javascript,node.js,sequelize.js,Javascript,Node.js,Sequelize.js,我试图将一个值放入常量中,但它位于中。然后,不起作用。你知道我该怎么做吗 如果的话,我会在我的控制台.log(newResult)中得到一个值,但返回的数据不会被推入我的constnewResult res.status(200).json(newResult) 当我处于if状态时,每个测试都会返回一个空选项卡,因为您正在执行async调用,所以它永远不会工作 models.User.findOne内置forEach 当完成对数据库的异步调用以获取用户时,您将在控制台.log上获得结果 但是在这

我试图将一个值放入常量中,但它位于
中。然后,
不起作用。你知道我该怎么做吗

如果的话,我会在我的
控制台.log(newResult)
中得到一个值,但返回的数据不会被推入我的const
newResult

res.status(200).json(newResult)


当我处于if状态时,每个测试都会返回一个空选项卡,因为您正在执行
async
调用,所以它永远不会工作
models.User.findOne
内置forEach

当完成对数据库的异步调用以获取用户时,您将在控制台.log上获得结果

但是在这一切发生之前,
forEach
已经执行完毕,代码到达行
res.status(200).json(newResult)并且您不会看到您的
if
条件的任何结果

不要使用这种方法,而是使用mongoose
populate
和基于用户对象的
userID
来查找
friends
,这样您就不必在
forEach
中进行异步调用

有关猫鼬的信息,请访问:

.then(function (friends) {
    if (friends) {
        const newResult = [];
        friends.forEach((r) => {
            if (r.UserID == userFound.id) {
                models.User.findOne({
                        where: {
                            id: r.idFriend
                        }
                    })
                    .then(function(userFound) {
                        newResult.push({
                            id: r.id,
                            user: {
                                id: r.User.id,
                                email: userFound.email,
                                username: userFound.username
                            }

                        });
                        console.log(newResult)
                    })
            } else
                newResult.push({
                    id: r.id,
                    user: {
                        id: r.User.id,
                        email: r.User.email,
                        username: r.User.username
                    }
                });
            console.log(newResult)
        });
        res.status(200).json(newResult);
    }
}