我正在使用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来获取信息。
答案 0 :(得分:0)
您已经正确地做了很多事情。问题是您的gamer
变量将在您的诺言得到解决时首先分配给您期望的值。有很多方法可以使这只猫皮肤化,但是要让您开始尝试对gamer
的{{1}}变量执行任何操作,就像这样:
.then()