簡體   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