相同的代码第一次和第二次执行不同

时间:2020-04-25 16:29:53

标签: javascript asynchronous async-await

我知道无法通过调试来定义var city。 第一次执行 第二次执行 实际代码:

var request = new XMLHttpRequest()
request.open('GET', 'https://restcountries.eu/rest/v2/all', true)
var city;
request.onload = function() {
  var data = JSON.parse(this.response);
  var findName = data.find((item) => {
    return item.name.toUpperCase() == 'INDIA';
  })
  city = findName.capital;
}
request.send();
var request = new XMLHttpRequest();
link = "https://api.openweathermap.org/data/2.5/weather?q=" + city + "&units=metric&apikey=" + "bb0a5a97e99ae93b148d219df2f4e97f";
request.open('GET', link, true);
request.onload = function() {
  var obj = JSON.parse(this.response);
  if (request.status >= 200 && request.status < 400) {
    var temp = obj.main.temp;
    console.log(temp)
  } else {
    console.log("The city doesn't exist! Kindly check");
  }
};
request.send();

请您更改代码,以便每次都能使用

0 个答案:

没有答案