Стратегия ионного конденсатора для http-запросов

#angular #http #ionic-framework #capacitor #connectivity

Вопрос:

У меня есть приложение с конденсатором 3, ионным 5 и угловым. Я использую Http-плагин для всех запросов из-за проблемы CORS на сервере.

Приложение выполняет http-запросы к серверу, но иногда, когда качество сети плохое, запрос зависает на устройстве или завершается сбоем и выходит из приложения.

Я не могу реализовать стратегию повторных попыток, например, с наблюдаемыми в angular, потому что я использую Http-плагин Capacitor, а не угловой HttpClient.

С помощью конденсатора я могу определить, подключено ли устройство к сети (сетевое подключение) или оно отключено, но не плохое соединение.

Есть ли у кого-нибудь опыт работы с этой ситуацией и как ее разрешить?

С уважением Дж

Ответ №1:

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

  • Проверьте соединение при каждом изменении страницы.(Вы можете написать глобальную службу для управления сетевым подключением. При каждом открытии страницы вы контролируете
    соединение с ionViewWillEnter (), поэтому, если соединение не работает, отображается предупреждение.
  • Преобразуйте конденсаторный HttpClient в угловой HttpClient
  • Возможно, вы можете попробовать функцию setTimeout. Вызовите функцию перед http-запросом, а затем контролируйте ответ. Если у вас нет ответа, не выполняйте запрос и покажите предупреждение.

Я надеюсь, что это поможет вам.

Комментарии:

1. Привет @Emre, я проверяю соединение каждый раз, когда делаю http-запрос, но сетевой плагин конденсатора просто показывает онлайн-или офлайн-статус, а не силу/качество сети. Изменение на угловой HttpClient не является опцией из-за проблем с CORS.

2. Да, вы правы насчет качества сети. Я обыскал его и ничего не нашел. Как насчет 3-го варианта? Проверьте это:> > pastebin.ubuntu.com/p/P9RDpTXt93

3. Большое спасибо, Эмре, я попробую.

Ответ №2:

вы можете просто переключиться на угловой HttpClient! Если это не поможет, вы можете проверить подключение к сетевому плагину конденсатора на каждой странице, вызвав его в приложении-компоненте.ts

Комментарии:

1. Привет @simonramosb, я не могу переключиться на HttpClient из-за проблем с CORS и проверить соединение с сетевым плагином конденсатора, просто покажите, подключено ли устройство онлайн или оффлайн, но не качество или мощность сигнала.