处理angularJs

时间:2016-06-02 15:17:12

标签: javascript angularjs http ionic-framework

大家好,

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

起初应用程序根本不会加载。控制台中显示Channel not fired: onDOMContentLoaded,警报显示Application Error - The connection to the server was unsuccessful. (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和app bootstraps。第二件事,必须在应用程序库中显示的图像不会显示出来,在长时间加载后给我一堆408 (Request Time-out),例如

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

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

我的简单问题:如何全局捕获这种类型的错误,以便能够向用户显示消息?或者甚至更好,听听任何http电话并在5s左右后自己超时以显示所述消息?

提前致谢!

1 个答案:

答案 0 :(得分:0)

Angulars $http服务在config参数中有timeout属性。您可以将其设置为5s(5000毫秒)。然后你可以在错误回调中处理超时。