我有一个包含 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!如果这没有帮助,您可以检查每个页面中与电容器网络插件的连接,在 app-component.ts 中调用它
您可以使用 Angular http,但您的服务器受到限制,因此 Angular http 无法工作,因此您可以在 Herokuapp 中创建代理服务器,并且您还可以使用 Angular http(请参阅此视频 https://www.youtube.com/watch?v=C0GSRPeuDAM )