#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 и проверить соединение с сетевым плагином конденсатора, просто покажите, подключено ли устройство онлайн или оффлайн, но не качество или мощность сигнала.