I\'m experiencing a weird bug on IE8 while trying to catch a promise reject (promise returned by a basic ngResource
call) :
This code work with .then(
You need to use bracket notation:
promise.then(function(response) {
// success
})
["catch"](function(response) {
// error
});
This is because IE8 implements ECMAScript 3 that does not allow bare keywords in dot notation. Modern browsers implement ECMAScript 5 that allows it.
A lot of libraries alias .catch
with another keyword. However, the way Angular promises are built it is not simple to extend $q
promises. So ["catch"]
would have to do. Note this is also true for finally
.