javascript - 如何从主组件中导出 const
问题描述
我需要将我的数据常量导出到另一个文件。如果它是异步的,我怎么能做到这一点?(因为它,我无法将它从 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;
推荐阅读
- string - 在 Bash 中使用 read 准确地将 x 个字符输出到变量
- javascript - C# Html Razor 页面使用颜色从 html 打印 pdf
- javascript - 在浏览器中创建 Angular 组件的标准方法是什么?
- kotlin - 如何在 Exposed 中禁用 SQL 参数记录?
- c# - c# Regex - 检查是否满足一定长度的条件
- reactjs - 如何使用 Strapi 和 FormData.append 上传图像
- bash - 读取文件以检查数字和文本并将其写入 bash 中的不同文件
- openmodelica - OpenModelica OMEdit 中是否有某种形式的自动缩进模式?
- python - 使用 Python Pandas 计算基础体积 (OBV)
- node.js - 如何使用 mongoose 将 URL 保存到 mongoDB