http请求的离子电容器策略
Ionic Capacitor strategy for http requests
我有一个使用 Capacitor 3、Ionic 5 和 Angular 的应用程序。
由于服务器中的 CORS 问题,我正在为所有请求使用 Capacitor Http 插件。
应用向服务器发起http请求,但有时在网络质量差的情况下,请求挂机或失败退出应用。
我无法实施重试策略,例如 angular 中的 Observables,因为我使用的是 Capacitor Http 插件而不是 Angular HttpClient。
使用 Capacitor,我可以检测设备是在线(网络连接)还是离线,但不会检测到连接不良。
有没有人遇到过这种情况,如何解决?
问候
J
我认为你可以尝试一些事情,也许它可以帮助你解决问题。
在每个页面更改时测试连接。(您可以编写一个全局服务来控制网络连接。每个打开的页面都由您控制
与 ionViewWillEnter() 的连接,所以如果连接不好显示
警报。
将 Capacitor HttpClient 转换为 Angular HttpClient
也许你可以试试setTimeout函数。在 http 请求之前调用该函数,然后控制响应。如果您没有任何响应,则请求失败并显示警报。
希望这些对你有帮助。
您可以切换到 Angular HttpClient!如果还是不行,你可以在每个页面检查与电容器网络插件的连接,在应用程序中调用它-component.ts
我有一个使用 Capacitor 3、Ionic 5 和 Angular 的应用程序。 由于服务器中的 CORS 问题,我正在为所有请求使用 Capacitor Http 插件。
应用向服务器发起http请求,但有时在网络质量差的情况下,请求挂机或失败退出应用。
我无法实施重试策略,例如 angular 中的 Observables,因为我使用的是 Capacitor Http 插件而不是 Angular HttpClient。
使用 Capacitor,我可以检测设备是在线(网络连接)还是离线,但不会检测到连接不良。
有没有人遇到过这种情况,如何解决?
问候 J
我认为你可以尝试一些事情,也许它可以帮助你解决问题。
在每个页面更改时测试连接。(您可以编写一个全局服务来控制网络连接。每个打开的页面都由您控制
与 ionViewWillEnter() 的连接,所以如果连接不好显示 警报。将 Capacitor HttpClient 转换为 Angular HttpClient
也许你可以试试setTimeout函数。在 http 请求之前调用该函数,然后控制响应。如果您没有任何响应,则请求失败并显示警报。
希望这些对你有帮助。
您可以切换到 Angular HttpClient!如果还是不行,你可以在每个页面检查与电容器网络插件的连接,在应用程序中调用它-component.ts