繁体   English   中英

如何从主要组件导出const

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM