$http request timeout not caught in error function on iOS 10 Cordova #15380
Description
Note: for support questions, please use one of these channels: https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md#question. This repository's issues are reserved for feature requests and bug reports.
Do you want to request a feature or report a bug?
bug
What is the current behavior?
Error function is not called when there is a timeout in the http request.
If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem via https://plnkr.co or similar (template: http://plnkr.co/edit/tpl:yBpEi4).
In iOS 10 Cordova application:
$http.get("http://10.255.255.1").then(function(res){
console.log("res: " + res);
},function(err){
console.log("err: " + err);
});
What is the expected behavior?
Error function to be called.
What is the motivation / use case for changing the behavior?
Which versions of Angular, and which browser / OS are affected by this issue? Did this work in previous versions of Angular? Please also test with the latest stable and snapshot (https://code.angularjs.org/snapshot/) versions.
Angular 1.5.3
Cordova 6.3.1
Platform: iOS 10
Other information (e.g. stacktraces, related issues, suggestions how to fix)
Regular XMLHttpRequest works:
var xhr = new XMLHttpRequest(); xhr.onload = function () {
console.log("request finished")
};
xhr.ontimeout = function (e) {
console.log("request timeout")
};
xhr.open('GET', 'http://10.255.255.1', true);
xhr.send(null);
Output: request timeout