Cordova 3.5.0有时会返回0,用于navigator.connection.type



我正在尝试在android平台上开发cordova(3.5.0)项目,因为我必须在每次API调用之前检查网络连接可用性。为此,我使用了"navigator.connection.type",有时它会返回0。为什么会发生这种情况?plz帮我解决这个问题

如果没有更多细节,我只能猜测。。有一些情况可能会导致这种情况。

navigator.connection.type = 0->连接类型未知。

所以你可能有一个连接,你可能没有,只是还没有确定,或者因为设备没有说明权限。

你打这张支票太早了吗?即设备就绪之前

在我们的应用程序中,我们不会每次都检查连接,但我们是这样处理的:

无论如何,通过发出API请求,知道它可能会失败,我们设置了超时和错误处理。如果由于错误或超时而失败,我们会检查连接类型,然后用一个简单的"hello"acknowledge"请求ping服务器。这是一个非常小的请求,我们认为它会起作用,或者如果它再次超时,连接一定很差,还不如断开连接。

这是因为实际上有两种类型的连接需要检查。许多人怀念这个!

也因为它的导航器有时完全撒谎…:/

仅仅因为wifi打开并连接,导航器告诉你这一点,并不意味着你会连接到外部世界。你需要检查网络硬件(导航器会告诉你这一切),但如果你对此很敏感,你也必须检查网络连接。

最新更新