得到错误“未处理的拒绝(TypeError):api_call4.json不是函数”,即使在reactjs中捕获到错误,

问题描述 投票:0回答:1

在获取天气api时,如果断开连接,则会引发错误并被捕获,几秒钟后错误会显示在屏幕上,这是非常令人不愉快的。不知道要解决此错误。

  1. App.js文件
const api_call4 = await fetch(`https://api.weatherbit.io/v2.0/current?` + 
`city=${city}&key=${API_KEY3}`).catch(error => toast.error('No Data Received',error))
const data4 = await api_call4.json();
console.log('DATA CURRENT', data4)

您可以看到上面的错误被捕获,但仍然显示错误。请参见下图。什么是最好的解决方案...

enter image description here

reactjs
1个回答
0
投票

您必须更改流程以确保api调用成功。一种方法是使用try / catch块,因为您使用的是异步/等待。类似于:

try {
  const api_call4 = await fetch(`https://api.weatherbit.io/v2.0/current?` + 
    `city=${city}&key=${API_KEY3}`)
  const data4 = await api_call4.json();
  console.log('DATA CURRENT', data4)
} 
catch(error) {
  toast.error('No Data Received',error)
}
© www.soinside.com 2019 - 2024. All rights reserved.