Promesas en
AngularJS
Samuel Martín
var _filter = function (cars, criteria, successCallback,
errorCallback) {
$timeout(function () {
var result = [];
angular.forEach(cars, function (car) {
if (_matches(car, criteria)) {
result.push(car);
}
});
if (result.length > 0) {
successCallback(result);
} else {
errorCallback("No se han encontrado resultados");
}
var criteria = 'ferrari';
$scope.cars = ['ford','ferrari'];
$scope.searchCarsByCriteria = function (criteria) {
carSearchService.filter($scope.cars, criteria, function (result) {
$scope.searchResult = result;
}, function (message) {
$scope.message = message;
});
};
- then(successCallback, errorCallback, notifyCallback) es invocado cuando la promesa es resuelta (.resolve).
- catch(errorCallback) se invoca cuando una promesa ha fallado, es equivalente al comportamiento en caso de .then(null, errorCallback).
- finally(callback) al igual que en otros lenguajes como Java, es un fragmento que se va a invocar independientemente de cual sea el resultado de la promesa.
$scope.cars = ['ford','ferrari'];
scope.filterCars = function (criteria) {
carSearchService.filter($scope.cars, criteria)
.then(function (result) {
console.log('la promesa se ha resuelto');
$scope.searchResults = result;
})
.catch(function (message) {
console.log('la promesa se ha rechazado');
$scope.message = message;
});
};
Promesas AngularJS
By samuelmartin1988
Promesas AngularJS
- 646