[英]How to export const from main component
我需要将我的数据常量导出到另一个文件。 如果它是异步的,我怎么能这样做?(因为它,我无法将它从 getWeather 中取出并使其成为全局)。
这是代码:
getWeather = async (event) => {
event.preventDefault();
var city = event.target.elements.city.value;
if (city) {
const api_url = await fetch(`https://api.openweathermap.org/data/2.5/forecast?q=${city}&appid=${API_KEY}&units=metric`);
const data = await api_url.json();
var sunset = data.city.sunset;
var date = new Date();
date.setTime(sunset);
var sunset_time = date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds();
this.setState({
temp: data.list[0].main.temp,
city: data.city.name,
country: data.city.country,
pressure: data.list[0].main.pressure,
sunset: sunset_time,
error: undefined,
latitude: data.city.coord.lat,
longitude: data.city.coord.lon
});
} else {
this.setState({
temp: undefined,
city: undefined,
country: undefined,
pressure: undefined,
sunset: undefined,
error: 'Please enter the city',
latitude: undefined,
longitude: undefined
})
}
}
您可以像这样在页面顶部创建一个变量; 让数据; 然后当您的请求完成时,为您的变量 datas = blas 设置新值;
let datas;
getWeather = async (event) => {
event.preventDefault();
var city = event.target.elements.city.value;
if(city){
const api_url = await
fetch(`https://api.openweathermap.org/data/2.5/forecast?q=${city}&appid=${API_KEY}&units=metric`);
const data = await api_url.json();
console.log(data)
datas = data;
var sunset = data.city.sunset;
var date = new Date();
date.setTime(sunset);
var sunset_time = date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds();
this.setState({
temp: data.list[0].main.temp,
city: data.city.name,
country: data.city.country,
pressure: data.list[0].main.pressure,
sunset: sunset_time,
error: undefined,
latitude: data.city.coord.lat,
longitude: data.city.coord.lon
});
} else {
this.setState({
temp: undefined,
city: undefined,
country: undefined,
pressure: undefined,
sunset: undefined,
error: 'Please enter the city',
latitude: undefined,
longitude: undefined
})
}
export datas;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.