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错误?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

编程语言

编程语言

图科 / 李德龙 / 清华大学 / 2008-1 / 68.00元

本书第1版自1999年出版以来,编程语言的研究已得到迅猛发展。为此,新版尽量贴近现今的发展趋势,以适应当前和未来编程语言设计过程中所伴随的新挑战。本书除了进一步提高了4种程序设计范型及其所用的语言的广度和深度外,还大大丰富了关于语言设计原理的内容,并新增了如Python、Perl这类编程语言的例子。本书主要结构第一部分:原理。第2、4、5、7、9章分别讲述了编程语言的5个核心原理(语法、名称、类型......一起来看看 《编程语言》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具