Promesas AngularJS

Samuel Martín

parking.factory('carSearchService', function ($timeout) {

    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");

            }

        }, 1000);

    };

    var _matches = function (car, criteria) {

        return angular.toJson(car).indexOf(criteria) > 0;

    };

    return {

        filter: _filter

    }

});

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;

    });

};

var criteria = 'ferrari';

$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

  • 732