angular-q-spread
DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/angular-q-spread package

1.2.0 • Public • Published

GitHub version Bower version NPM version

Build Status

angular-q-spread

Add spread method to all promises created by the $q service.

spread can be used as a replacement for then. Similarly, it takes two parameters, a callback when all promises are resolved and a callback for failure. The resolve callback is going to be called with the result of the list of promises passed to $q.all as separate parameters instead of one parameters which is an array.

spread can be chained onto every promise.

Compatibility

This plugin has been tested with Angular 1.2 and 1.3

Usage

Add $q-spread as dependency when creating your angular module.

Example

angular.module('test', ['$q-spread']);

function TestCtrl($scope, $q, MyService) {
    $scope.name = null;

    function firstCallback(firstname, lastname)
    {
        return firstname + ' ' + lastname;
    }

    function anotherCallback(fullname)
    {
        $scope.name = fullname;
    }

    function failureCallback(reason)
    {
        alert('Could not load data: ' + reason);
    }
    
    $q
        .all([
            MyService.getFirstname(),
            MyService.getLastname()
        ])
        .spread(firstCallback)
        .then(anotherCallback)
        .catch(failureCallback);
};

TestCtrl.$inject = ['$scope', '$q', 'MyService'];

angular.module('test').controller('TestCtrl', TestCtrl);

License

This Angular module has been published under the MIT license

Package Sidebar

Install

npm i angular-q-spread

Weekly Downloads

153

Version

1.2.0

License

MIT

Last publish

Collaborators

  • klaascuvelier