【问题标题】:Does affect yellow warining on react-native app perfromance?是否会影响 react-native 应用程序性能的黄色警告?
【发布时间】:2019-09-30 07:51:10
【问题描述】:

我有一个 react-native 应用程序,它有时会生成黄色警告消息。例如:当我从 firestor 中删除一个文档时,该文档可能不存在。所以我想知道这个警告会影响我的应用性能吗?虽然我知道当我构建 APK react-native 不会显示警告信息。

以及为什么我没有发现错误,因为我需要超快速的数据删除、插入和更新。

例如:

如果文档不存在,以下代码将生成警告。

storageRef.child('images/desert.jpg').delete();

但以下内容不会显示任何警告,因为我正在捕捉它。

storageRef.child('images/desert.jpg').delete().catch(err=>{});

为什么我不想使用catch(err=>{}) 函数?

第一:没有catch() 函数我的代码看起来很漂亮。 第二:我认为调用任何额外的函数都需要额外的时间。

所以通过调用catch() 函数可能代码运行缓慢。

【问题讨论】:

    标签: reactjs react-native google-cloud-firestore


    【解决方案1】:

    所以我想知道这个警告会影响我的应用性能吗?

    React-native 中的黄色警告通常表明您的应用程序中可能存在缺陷或未优化的代码。在某些情况下,是的,它会影响性能。在你的情况下,它可能不是。

    如果文档不存在,以下代码将生成警告。

    storageRef.child('images/desert.jpg').delete();
    

    除了不存在的文档之外,它还可能陷入各种错误,例如失去与服务器或this list from Google Firebase documentation 中的任何内容的连接。因此,不捕获错误不会让您知道它失败的原因,也不会正确地通知应用程序用户失败。

    以及为什么我没有发现错误,因为我需要超快 数据的删除、插入和更新。

    除非您在捕获函数中添加任何内容,否则运行一个空函数 catch(err => {}) 的成本几乎可以忽略不计。在 Chrome 上,an empty function can be execute 100-500 operations per millisecond without trouble,所以我认为在移动设备上它的速度不够慢。

    我认为调用任何额外的函数都需要额外的时间。

    没错,但除非您想同时执行数百个操作,否则您几乎不会注意到差异。

    【讨论】:

      【解决方案2】:

      我有几点要说。

      1. 黄色警告的事实不会让您的应用程序变得缓慢,并且不知道它们不会在生产应用程序中创建(当应用程序准备好构建时)。但无论如何,如果已产生的错误与性能相关,则未缓存错误可能会导致速度变慢。
      2. 那么知道这一点,我建议您捕获您的错误,因为该错误也将被复制,因为该错误您会看到您的应用程序变慢但您不知道在哪里,并且您没有看到错误的catch,也许这就是问题所在。将 catch 放在行尾以使您的代码更节省并不意味着它会看起来更丑。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-06-19
        • 1970-01-01
        • 2022-08-04
        相关资源
        最近更新 更多