捕获变量中的JSON GET响应?

时间:2018-11-27 03:56:37

标签: node.js express

我正在使用request-promise从我拥有的端点获取数据。 是否可以在变量中“捕获” json响应以在任何地方使用它?

try{
    var gamer = '';//variable to capture json data
    var options = {
        uri: 'http://localhost:4000/gamers/'+gamer._id+'/find',
        json: true
    };

    RequestPromise(options)
        .then(function (data) {
            gamer = data;//capturing response 
        })
        .catch(function (err) {
            console.log("Error saving player data !");
        });
    .... do something with gamer ....
}catch(err){
    res.status(500).send({
            message: err.message || 'An error occurred generating player teams !'
    });
}

之所以需要这样做,是因为实际上我无权访问数据库来获取该信息,所以我唯一的选择是使用一个API通过集合ID来获取信息。

1 个答案:

答案 0 :(得分:0)

您已经正确地做了很多事情。问题是您的gamer变量将在您的诺言得到解决时首先分配给您期望的值。有很多方法可以使这只猫皮肤化,但是要让您开始尝试对gamer的{​​{1}}变量执行任何操作,就像这样:

.then()