使用Javascript学习Ajax:全局变量与局部变量

时间:2019-02-03 14:39:21

标签: javascript ajax variables scope xmlhttprequest

我正在学习异步javascript,直到现在我只看到Ajax和XMLHttpRequest对象,但遇到了一个问题,这与变量范围有关:

let currencies; //global variables
let keys;

xhr = new XMLHttpRequest();

xhr.open('GET', 'http://apilayer.net/api/list?access_key=myaccesskey', true);

xhr.onload = function(){
  if(this.status === 200){
     const response = JSON.parse(xhr.responseText);
     currencies = response.currencies; //local variable

console.log(currencies); //returns the "currencies "object in the response
  }
}

xhr.send();

console.log(currencies); // returns undefined
正如您所看到的那样,

问题是这两个称为货币的变量是不同的变量,但是由于我必须在分配给xhr.onload的函数内部分配值,所以我不知道如何全局获取该值

0 个答案:

没有答案