axios get 请求返回错误 UNDEFINED

时间:2021-05-25 11:16:20

标签: javascript node.js axios

我正在尝试从某个 API 获取数据,但出现错误:在控制台中未定义。

const getApiAndEmit =async socket => {
    try 
    {
        
     
      await axios.get('https://cdn-api.co-vin.in/api/v2/appointment/sessions/public/findByDistrict?district_id=571&date=25-05-2021').then((response) =>
      {
         this.resp=response.data;
      }) ;
     
      //socket.emit("FromAPI", this.resp);
      console.log(this.resp);
    } 
    catch (error) {
      
      console.error(`Error: ${error.code}`);
    }
  };

Json 占位符 URL 和许多其他 URL 返回控制台中的数据。但此 URL 返回错误:未定义。 请帮忙/

1 个答案:

答案 0 :(得分:0)

这里的问题是,您希望 catch 块中的错误具有代码,而这并不总是您会看到的。在这种情况下,axios 会抛出一个 http 错误响应,您需要对其进行适当处理。 Axios has documentation on how to do this

您会想要构建更强大的东西,但现在以下应该适用于这种特定情况,您只处理 http 错误响应:

const getApiAndEmit = async (socket) => {
  try {
    let response = await axios.get(
      "https://cdn-api.co-vin.in/api/v2/appointment/sessions/public/findByDistrict?district_id=571&date=25-05-2021"
    );
    //socket.emit("FromAPI", this.resp);
    console.log(response);
  } catch (error) {
    console.error(`Error: ${error.message}`);
  }
};