q-promise

1.0.0 • Public • Published

q-promise

travis Build Status Wercker wercker status

Full Promises/A+ compliance

Installation

npm install q-promise --save
 
# alternatively you can use bower (minified version by default)
bower install q-promise --save

ES6 Promise

// q-promise respects the es6 promise specification
// you can use q-promise as global polyfill
 
if( !window.Promise ) {
  window.Promise = $q;
}

Example

$q(function (resolve, reject) {
        resolve('gogogo!');
    })
 
    .then(function (result) {
        console.log('checkpoint 1', result);
        throw 'whoops!';
    })
 
    .then(function (result) {
        console.log('checkpoint 2', result);
    },function (result) {
        console.log('checkpoint 2.1', result);
        return qPromise(function (resolve, reject) {
            setTimeout(function () { resolve('all right!'); }, 400);
        });
    })
 
    .then(function (result) {
        console.log('checkpoint 3', result);
    }, function (reason) {
        console.log('checkpoint 3.1', reason);
    })
;

output:

checkpoint 1 gogogo!
checkpoint 2.1 whoops!
# elapsed 400ms
checkpoint 3 all right!

Tests

make test

Package Sidebar

Install

npm i q-promise

Weekly Downloads

24

Version

1.0.0

License

MIT

Last publish

Collaborators

  • jgermade