Sequelize / Promises - 将多个查询作为对象返回

时间:2016-02-17 12:50:21

标签: javascript node.js promise sequelize.js

我有一个实例,我试图在同一个GET请求中查询两个单独的表,然后将结果返回给我的渲染视图可以访问的对象以供使用。在我当前的设置中,SQL查询返回正确的命令,第一个查询的结果(status)正确返回,并且可以在我的视图中访问,但我无法返回第二组结果(discoverySource returns undefined in my console log),这可能是因为javascript promises只返回一个值。有没有更好的方法来查询或返回两个对象?

appRoutes.route('/') 

    .get(function(req, res){

        models.Status.findAll({
            where: {
                userId: req.user.user_id
            },
            attributes: ['statusId', 'statusDate', 'dataDateStart', 'dataDateEnd', 'title'],
            order: 'statusDate DESC',

        }).then(function(status,discoverySource){
            models.DiscoverySource.findAll({
                where: {
                    organizationId: req.user.organizationId
                },
                attributes: ['discoverySource']
            })
            return status;
        }).then(function(status, discoverySource){
            console.log(discoverySource);
            res.render('pages/app/high-level-activity-feed.hbs',{
                status: status,
                discoverySource: discoverySource,
                user: req.user
            });
        })
    })

0 个答案:

没有答案