const [forecastData, setForecastData] = useState({ forecast: []});
useEffect(() => {
let ignore = false;
const FETCHDATA = async () => {
await fetch(forecast,{
headers : {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
}).then((res) => res.json()).then((response) => {
response.daily.data.shift();
response.daily.data.pop();
const DATA = response.data.map(
(dailyData) =>
new DailyForecast(
dailyData.summary,
dailyData.temperatureMax.toFixed(0) + '°C',
dailyData.time,
dailyData.icon
)
)
if (!ignore) setForecastData({ forecast: DATA })
})
}
FETCHDATA();
return () => { ignore = true;}
}, []);
코드를 실행할 때 오류가 'GET https://cors-anywhere.herokuapp.com/https://api.darksky.net/forecast/db9249f6adf5c8d4e27736cc9fa50e11/12.8797,121.7740?units=si 403 (금지됨)
Uncaught (약속) SyntaxError : JSON 위치 0 ''에서 예기치 않은 토큰 S
백엔드 관련 문제인 것 같습니다. 그 프론트 엔드 휴식을 방지하기 위해, 당신을 포장하려고 fetch
A의 try-catch
성명, 같은 :
try {
const response = await fetch(forecast);
// all your logic
} catch(err) {
console.error(`Something went wrong: ${err}`);
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다