我已经创建了一个名为weather的类,该类从API获取天气数据(我正在使用openWeather来获取我的天气数据)。另外,我还在另一个文件中创建了一个app.js方法,该方法将天气数据输出到控制台。
但是,每当我运行该程序时,它都会在控制台中(正好在(app.js)中)显示一条错误消息,提示 undefined 。 我正在使用javascript promise和async函数。
请帮助!谢谢!
//This is the weather class
class Weather {
constructor (city){
this.apiKey = '59fdf0cfa3f226ec087ef1dec6a1755a';
this.city = city
// this.state = state
}
//fetch weather from API
async getWeather(){
const response = await fetch (`https://samples.openweathermap.org/data/2.5/weather?
q=${this.city},uk&appid=${this.apiKey}.json`);
const responseData = await response.json();
return responseData.current_observation;
}
//Change weather location
changeLocation(city,state){
this.city = city;
this.state = state;
}
}
这是app.js方法
const weather = new Weather('london');
weather.getWeather()
.then(results => {
console.log(results); //this is where i get the undefined error message in the console.
})
.catch(err => console.log(err));
}
答案 0 :(得分:0)
current_observation
,而想要获取weather
或weather[0]
,因为此属性包含天气数据。同时解决这两个问题会使您无法在自己的undefined
中加入console.log