javascript - 在 angularJs 中处理资源和图像超时

标签 javascript angularjs http ionic-framework

大家好,

我正在开发基于 Ionic 的应用程序 - 所以是 AngularJS。在我对应用程序的测试中,我将我的设备连接到一个非常慢的 wifi,以测试应用程序如何响应......这很糟糕,但还算不错,因为问题非常局部化。

起初,应用程序根本无法加载。 Channel not fired: onDOMContentLoaded 出现在控制台中,并且警告显示 Application Error - The connection to the server was successful。 (file:///android_asset/www/index.html).

我按照这里的提示:increase loadUrlTimeoutValue

应用停止崩溃。但它会保持在白屏上,直到最终 index.html 中唯一的 http 调用失败:

http://maps.googleapis.com/maps/api/js?key=myKey&libraries=places

控制台记录 Failed to load resource: net::ERR_TIMED_OUT 和应用程序像往常一样引导。第二件事,必须在应用程序库中显示的图像不会显示,在长时间加载后让我得到一堆408(请求超时),例如

GET http://res.cloudinary.com/myimage.jpg 408 (Request Time-out)

所以我的猜测是,在这个非常慢的 wifi 上,所有 http 调用都是一个问题 - 它们只是在一段时间后失败并返回控制台能够显示的错误。

我的简单问题:如何在全局范围内捕获该类型的错误以便能够向用户显示消息?或者更好的是,监听任何 http 调用并在 5 秒左右后超时以显示所述消息?

提前致谢!

最佳答案

Angular $http服务在配置参数中有一个 timeout 属性。您可以将其设置为 5s(5000,因为它以毫秒为单位)。然后就可以在错误回调中处理超时了。

关于javascript - 在 angularJs 中处理资源和图像超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37595850/

相关文章:

javascript - 通过 .htaccess 强制 https,并使用 fetch 生成一个 post http url 异常

javascript - 使用 AngularJS 处理数据库分页

javascript - 使用 && 和 ! 的正确语法是什么?在 if 条件下?

java - 需要 HTTP 连接解释

http - 使用 Nginx 为所有 HTTP 方法终止 SSL

javascript - 模块级别的 Angular HTTP 拦截器

javascript - 当我在 Node 中 console.log 时,req.body 会显示密码

javascript - 有没有一种更简单的方法可以在不捕获的情况下进行单行尝试?

javascript - 无法在另一个方法内调用导航

javascript - 根据屏幕大小更改 $scope 变量