是否会影响本机应用程序性能的黄色警告?

时间:2019-05-13 10:52:54

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

我有一个本机应用程序,有时会生成黄色警告消息。例如:当我从firestor中删除文档时,该文档可能不存在。因此,我想知道此警告会影响我的应用性能吗?尽管我知道我在构建APK时原生会不会显示警告消息。

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

例如:

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

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

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

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

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

首先:没有catch()功能,我的代码看起来很漂亮。 第二:我认为调用任何其他函数将花费更多时间。

因此,调用catch()函数可能会使代码运行缓慢。

2 个答案:

答案 0 :(得分:3)

  

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

React-native中的黄色警告通常会揭示应用程序中可能存在的陷阱或未优化的代码。是的,在某些情况下,它会影响性能。就您而言,可能并非如此。

  

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

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

除了不存在的文档外,还可能会出现许多错误,例如与服务器或this list from Google Firebase documentation中的任何内容失去连接。因此,无法捕获错误将无法让您知道其失败原因,也无法正确告知应用程序用户该失败。

  

为什么我没有赶上错误,因为我需要超级快   删除,插入和更新数据。

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

  

我认为调用任何额外的功能将花费更多的时间。

是的,但是除非您想同时进行数百次操作,否则您几乎不会注意到其中的区别。

答案 1 :(得分:0)

我在这里有几点要说。

  1. 黄色警告的事实不会使您的应用变慢,也很少知道不会在生产应用中创建它们(当应用已准备好构建时)。但是无论如何,如果已经产生的错误与性能有关,则非缓存错误将导致速度降低。
  2. 然后知道这一点,我建议您也捕获您的错误,因为如果出现该错误,您会看到您的应用程序运行缓慢,但您不知道在哪里,并且您没有抓住错误,也许就是问题所在。将catch放在行的末尾以使您的代码更多地保存并不真正意味着它看起来很丑。