【问题标题】:Getting error "Unhandled Rejection (TypeError): api_call4.json is not a function" even when error is caught in reactjs即使在 reactjs 中捕获错误,也会出现错误“未处理的拒绝(TypeError):api_call4.json 不是函数”
【发布时间】:2019-10-28 19:43:35
【问题描述】:

在获取天气 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)

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

【问题讨论】:

    标签: reactjs


    【解决方案1】:

    您必须更改流程以确保您的 api 调用成功。一种方法是使用 try/catch 块,因为您使用的是 async/await。比如:

    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)
    }
    

    【讨论】:

      猜你喜欢
      • 2017-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-14
      相关资源
      最近更新 更多