javascript - 相同的代码第一次和第二次执行不同
问题描述
我知道 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();
你能把代码改一下吗,每次都能用
解决方案
推荐阅读
- javascript - 如何将 json 对象从 PHP 转换为 Javascript 数组
- linux - 带有 TileGX 工具链和 LTO 的 LLVM 3.3 无法正常工作
- pandas - 用特定值替换最后一个有效索引
- python-3.x - 熊猫:如何广播乘以向量*矩阵*向量,按列
- c# - 如何为 AppInsight API 过滤器格式化带有特殊字符的文件名?
- python - 如何保留数据框中所有列中具有相同值的所有行?
- python - 绘制 Roc 曲线的自动编码器分类
- scala - 扩展 Spark 数据集
- python-3.x - 如何将此迭代应用于数据框以对其进行修改?
- asp.net-core - 如何在 Asp.net Core Web API 中为消息包内容类型启用 LZ4 压缩