如何将我的get请求传递到res.render?

时间:2018-08-25 01:33:43

标签: node.js express get

const router = require('express').Router();
const request = require('request');

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

    request({
        url: 'https://discordapp.com/api/users/@me/guilds',
        auth: {
            'bearer': req.user.accessToken
        }
    }, function (err, res) {
        console.log(res.body);
        //How can I pass the res.body from here
    });

    res.render('dashboard', {user: req.user servers: /*into here?*/});
});

module.exports = router;

如何将我的get请求传递到res.render中?所以我可以使用ejs输出它。

1 个答案:

答案 0 :(得分:0)

res.render应该在有必要数据的地方调用。如果这个地方是request回调,那么就是这样。由于在不同的函数作用域中有不同的res对象,因此需要命名为不被遮盖:

request({
    url: 'https://discordapp.com/api/users/@me/guilds',
    auth: {
        'bearer': req.user.accessToken
    }
}, function (err, response) {
   res.render('dashboard', {user: req.user, servers: response.body});
});