我正在使用开放天气API,但是当我发送城市数据请求时,出现网络错误。

这是完成获取资源工作的动作。

动作/ index.js

import axios from "axios";


const ROOT_URL = `https://samples.openweathermap.org/data/2.5/forecast?appid=${API_KEY}`;

export const FETCH_WEATHER = "FETCH_WEATHER";

export function fetchWeather(city) {
  const url = `${ROOT_URL}&q=${city},us`;
  const request = axios.get(url);

  console.log("request:", request);

  return {
    type: FETCH_WEATHER,
    payload: request
  };
}


当我按下提交按钮时,我可以在mozilla firefox控制台中看到错误。
像这样的东西...错误:网络错误

javascript - 天气api key 不起作用-LMLPHP

但我想在城市标题下输入城市名称...
像这样...
javascript - 天气api key 不起作用-LMLPHP

最佳答案

axios.get(url)返回诺言,
传统的方式是

export function fetchWeather(city) {

    const url = `${ROOT_URL}&q=${city},us`;
    const res = axios.get(url).then(function(res){
    console.log("response:", res);

       return {
         type: FETCH_WEATHER,
         payload: res
        };
     }).catch(err){
      console.log(err)
     }
}


要么,

使用async / await获得所需的结果。

export async function fetchWeather(city) {
  try{
    const url = `${ROOT_URL}&q=${city},us`;
    const res = await axios.get(url);

    console.log("request:", res);

    return {
      type: FETCH_WEATHER,
      payload: res
    };
  }catch(err){
      console.log(err)
   }
}

关于javascript - 天气api key 不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51638892/

10-12 03:23