我正在使用开放天气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控制台中看到错误。
像这样的东西...错误:网络错误
但我想在城市标题下输入城市名称...
像这样...
最佳答案
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/