q-promise
v1.0.0
Published
promise polyfill with add-ons
Downloads
48
Maintainers
Readme
q-promise
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