Влияет ли желтое потепление на реакцию приложения? - PullRequest
1 голос
/ 13 мая 2019

У меня есть приложение-родной, которое иногда генерирует предупреждение.например: когда я удаляю документ из firestor, возможно, этот документ не существует.Итак, я хочу знать, повлияет ли это предупреждение на производительность моего приложения?хотя я знаю, что при сборке APK реакция-нативная не будет отображать предупреждение.

И почему я не улавливаю ошибку, потому что мне нужно супер быстрое удаление, вставка и обновление данных.

например:

следующий код сгенерирует предупреждение, если документ не существует.

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

, но следующее будетне показывать предупреждение, потому что я его ловлю.

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

Почему я не хочу использовать функцию catch(err=>{})?

Первый: без функции catch() мой код выглядит красиво. Второе: Я думаю, что вызов любой дополнительной функции займет дополнительное время.

Так что, вызывая catch(), функция может работать медленно.

Ответы [ 2 ]

3 голосов
/ 13 мая 2019

Итак, я хочу знать, повлияет ли это предупреждение на производительность моего приложения?

Желтое предупреждение в React-native часто выявляет возможные ошибки или неоптимизированный код в вашем приложении.В некоторых случаях да, это влияет на производительность.В вашем случае это может быть не так.

следующий код выдаст предупреждение, если документ не существует.

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

Помимо несуществующего документа, существуетэто широкий диапазон ошибок, в которые он может попасть, например, потеря соединения с сервером или что-либо в пределах этого списка из документации Google Firebase .Поэтому отсутствие перехвата ошибки не позволит вам узнать, почему она не работает, и не проинформирует пользователя приложения о сбое должным образом.

И почему я не перехватываю ошибку, потому что мне нужно супер быстрое удаление, вставкаи обновление данных.

Если вы ничего не добавите в функцию перехвата, затраты на запуск пустой функции catch(err => {}) практически ничтожны.В Chrome пустая функция может без проблем выполнять 100-500 операций в миллисекунду , поэтому я не думаю, что в мобильных устройствах она достаточно медленная, чтобы быть значительной.

Iдумаю, что вызов любой дополнительной функции потребует дополнительного времени.

Верно, но если вы не хотите выполнять сотни операций одновременно, вы едва заметите разницу.

0 голосов
/ 13 мая 2019

У меня есть кое-что сказать здесь.

  1. Факт появления желтого предупреждения не сделает ваше приложение медленным и менее знающим, что они не будут созданы в рабочем приложении (когда приложение будет готово).Но в любом случае, вероятно, ошибка, связанная с отсутствием кэширования, приведет к замедлению, если возникшая ошибка относится к производительности.
  2. Тогда, зная это, я бы порекомендовал вам отлавливать ошибки, которые тоже будут воспроизведены.случай, когда из-за этой ошибки вы увидите, что ваше приложение работает медленно, но вы не знаете, где, и у вас нет ловушки, чтобы увидеть ошибку, и, возможно, это будет проблемой.Поместить catch в конец строки, чтобы сделать ваш код более безопасным, вовсе не означает, что он будет выглядеть ужаснее.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...