JavaScript(node.js)存储来自.then的(var)信息

时间:2018-02-19 19:37:08

标签: javascript node.js riot-games-api

我正在使用一个名为teemojs的js lib来使用node.js从riot API获取信息,并希望将我在var中获得的内容存储起来以便稍后回调,此代码

api.get('euw1', 'summoner.getBySummonerName', playerName)
    .then(data => console.log(data.id))

给了我想要的东西,但是我无法将它存储在var中以便全局访问 关于我能做什么的任何想法

P.S我想说这样的话

api.get('euw1', 'summoner.getBySummonerName', playerName)
    .then(data => var Result = (data.id))

1 个答案:

答案 0 :(得分:1)

您必须在承诺之前声明变量,例如

var myVar;
api.get('euw1', 'summoner.getBySummonerName', playerName)
    .then(data => {
       myVar = data.id;
       console.log(myVar); // myVar is defined
    })
console.log(myVar); // myVar is undefined

您也可以使用async / await like

ty {
  const {id} = await api.get('euw1', 'summoner.getBySummonerName', playerName);
  console.log(id);
} catch (e) {
  console.error(e);
}