如何在不使用内部方法的情况下将多个数据从续集承诺传递到视图



我正在尝试从多个表中获取数据并使用续集方法 findAll 将它们传递给我的视图,但要传递该数据以查看需要将 res.render 放入 then 方法中。我有 5 张没有关系的表,所以我需要将方法一个放在另一个里面,我不这么认为,有更好的方法吗?

我需要像这样传递数据:

res.render('view',{ 用户:用户, 设备:设备, 根:根, 地点:地方, 为什么:为什么})

尝试使用异步和等待方法,我仍然没有得到数据。

router.get('/', (req, res) => {
    const Getuser = async () => {
        const res = await Users.findAll()
        const data = await res.json
        return data
    }
    const result = Getuser()
    console.log('dados:')
    console.log(result)

    res.render('home/index', {
        User: req.user,
        Result: result
    })
});

我希望结果包含我需要传递给我的视图的所有数据,但实际结果是:

数据:承诺 { }

我找到了更好的方法来做到这一点。

router.get('/', async (req, res) => {

    try {
        // pegar dados de tabela:
        // - User
        const user = await User.findAll()

        return res.render('home/index', {
            User: req.user,
            // Contact: contatos,
            // Redes: social,
            // Planos: planos
        })
    } catch(err) {
        throw new Error('Erro ao retornar usuarios')
    }

});

这样我可以在这里放很多查询,查询属于多个表

最新更新