Angular promises tests
error handlers
by Kyrylo Slatin
HTML
<div ng-controller="ctrl">
Controller
<table>
<tr ng-repeat="item in data">
<td>{{item.name}}</td>
<td>{{item.age}}</td>
</tr>
</table>
<p>second person</p>
<p>
<input ng-model="person1.name"/>
<input ng-model="data[0].age"/>
</p>
{{person1}}
<p>
<address ng-model="person1.age" person="person1"></address>
</p>
<p>
<button ng-click="change()" >Change</button>
</p>
</div>
CSS
.dir{
border: solid red 3px;
}
JavaScript
angular.module('app', []);
angular.module('app').controller('ctrl', function($scope, $rootScope, $q){
function promise(){
var d = $q.defer();
console.log('promise() called');
setTimeout(function(){
console.log('promise() going to resolve');
d.reject('promise');
}, 10);
return d.promise;
}
var d = $q.defer();
//d.reject('error 1');
d.resolve('success 1');
d.promise
.then(
/*success*/function (result) {
console.log("success in 1: " + result);
//return $q.resolve;
//throw new Error();
return promise();
//return result;
}
//,/*error*/function (e) { console.log("error in 1: " + e); return $q.reject(e); }
)
.then(
/*success*/function (result, r2) { console.log("success in 2: " + result + ' ' + r2); }
//,/*error*/function (e) { console.log("error in 2: " + e); }
).catch(function(e){ console.error('Final error: ' + e);})
.then(function(param){ console.log('After catch: ' + param)});
});
angular.bootstrap(document, ['app']);