reactjs – 为什么我的http库的错误处理程序在应用程序中捕获* all * runtime错误?

栏目: 后端 · 前端 · 发布时间: 6年前

内容简介:翻译自:https://stackoverflow.com/questions/41414830/why-is-my-http-librarys-error-handler-catching-all-runtime-errors-in-the-app
我正在使用React Native 0.39构建一个原型应用程序,它从远程源请求一些数据.要发出请求,我使用 Axios.

这个电话看起来很简单.在名为TownsList.js的组件中,我这样做

class TownsList extends Component {

  constructor(props) {
    super(props);
    this.state = {towns: []};
  }

  componentDidMount() {

    let url = "(SOME URL HERE)";

    axios.get(url)
         .then(function(response) {
           // Do stuff witt the successful result
         })
         .catch(function (error) {
           Alert.alert(
             'Download failed',
             'Unable to download data from '+url+"\nError:"+error,
             [{text: 'OK'}])
         });

...

现在奇怪的是,每当我的代码中有一些其他运行时错误//成功结果块的东西 – 例如对某个常量或变量的错误引用 – 该错误将由Axios的错误处理程序处理,以及:

reactjs – 为什么我的http库的错误处理程序在应用程序中捕获* all * runtime错误?

这感觉不对.我究竟做错了什么?我应该在我的应用程序中的其他地方设置“通用”错误处理来捕获这些东西吗?或者这是预期的行为?

如果在您标记为的块中抛出错误,这是自然行为

// Do stuff witt the successful result

如果您不想要这种行为,请考虑以这种方式编写它:

axios.get(url)
         .then(function(response) {
           // Do stuff with the successful result
         },
         function (error) {
         // any error from the get() will show up here
           Alert.alert(
             'Download failed',
             'Unable to download data from '+url+"\nError:"+error,
             [{text: 'OK'}])
         });)
    })
    .catch(function(error) {
         // any error from "doing stuff" will show up here
         console.error(error);
    })

.then()方法允许两个函数,一个用于成功,另一个用于失败 – 原始promise的失败,而不是成功函数.

由于您自己的代码本身由于某种原因而失败,您当然不希望沉默.

翻译自:https://stackoverflow.com/questions/41414830/why-is-my-http-librarys-error-handler-catching-all-runtime-errors-in-the-app


以上所述就是小编给大家介绍的《reactjs – 为什么我的http库的错误处理程序在应用程序中捕获* all * runtime错误?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Linux内核设计与实现

Linux内核设计与实现

拉芙 / 陈莉君、唐华、张波 / 机械工业出版社 / 2006-1 / 38.00元

《Linux内核设计与实现》基于Linux2.6内核系列详细介绍Linux内核系统,覆盖了从核心内核系统的应用到内核设计与实现等各方面的内容。主要内容包括:进程管理、系统调用、中断和中断处理程序、内核同步、时间管理、内存管理、地址空间、调试技术等。本书理论联系实践,既介绍理论也讨论具体应用,能够带领读者快速走进Linux内核世界,真正开发内核代码。 本书适合作为高等院校操作系统课程的教材......一起来看看 《Linux内核设计与实现》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具