【问题标题】:axios react native implementationaxios react 原生实现
【发布时间】:2017-06-12 01:50:31
【问题描述】:

我在 axios react native 上遇到了一些问题,

axios({
   method: 'post',
   url: url+endPoint,
   headers: {
     'Content-Type': 'application/json',
     'Authorization': 'Bearer '+token,
   },
   data: data
 })
 .then((response) => {
   let cities = response.data.city || [];
   console.log('success', response.data.city);
   this.setState({
     visible: false
   })
 })
 .catch((error) => {
   console.log('error');
   this.setState({
     visible: false
   })
 });

当我设置let cities = response.data.city || [];成功时,当axios错误时,不会调用块错误,axios将执行成功块而不是错误。 我的代码有什么问题,或者是 axios 的错误?或者我需要做些什么? 我希望这里的 react native master 可以帮助我解决这个问题。

【问题讨论】:

  • 为什么要调用错误块......以及正在打印什么成功日志语句,它是某个值还是未定义?
  • 我的意思是,如果我添加let cities = response.data.city || [];,API 返回错误,错误块未调用但调用成功。我只想检查response.data.city 不为空或未定义。如果成功调用成功块并且当错误调用错误块但是当错误 axios 不调用错误但当我添加该代码时成功
  • @alpiopio 你确定你得到了一个你期望的 http 错误,因为你只会在收到 http 错误时进入 catch 块。
  • @Vandervidi 是的,我确定...我删除那行代码let cities = response.data.city || []; 会出现警报错误。
  • console.log 响应时会得到什么?

标签: react-native axios


【解决方案1】:
response.data.city

上面的代码试图在响应数据中读取城市。如果没有响应数据或城市信息,则将执行 catch 块。

请检查响应是否正确,或者您尝试读取的数据是否可用。

【讨论】:

    猜你喜欢
    • 2021-10-05
    • 2020-09-11
    • 2021-07-21
    • 2015-06-15
    • 1970-01-01
    • 2017-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多