提问者:小点点

如何将多个数据从sequelize promise传递到视图而不使用inners then方法


我试图从多个表中获取数据,并使用后遗症方法findAll将其传递到视图,但要将数据传递到视图,需要将Res.Render放在then方法中。我有5个没有关系的表,所以我需要把方法一个放在另一个里面,我不这么认为,有更好的方法吗?

我需要这样传递数据:

res.render(“view”,{user:users,device:devices,root:roots,place:places,why:whys})

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

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
    })
});

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

数据:Promise{}


共1个答案

匿名用户

我找到了更好的方法。

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')
    }


});

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