myword
Extending ES6 promises...
Some Context
Jake Archibald released a great polyfill of ES6 Promises that I've been trying to migrate towards using:
https://github.com/jakearchibald/es6-promise
When contrasted with something like Q (https://github.com/kriskowal/q), ES6 Promises lacks a lot of the bells and whistles that Q has built up. This project serves as a place to extend ES6 promises with some of those bells and whistles.
Installation
npm install myword
Promise.mixin()
This method provides a simple means for one to extend the Promise prototype
var Promise = ;// mixin the ability to add a delay to your promise chain (don't ask me why you would do that...)Promise
Promise.promisify(fn)
This method converts existing node-style functions that take callbacks into ones that return a Promise
var Promise = ; /** * where callback is of the signature function(err, result) */var { ;}; var promiseMethod = Promise; ;
Promise.prototype.always(fn)
This method will be invoked when a promise is resolved or rejected. Function will be resolved with the resolved result or the error from being rejected.
Promise.prototype.spread(fn)
This method will flatten (or spread) a promise result that is an array into individual function parameters
var Promise = ; // return a promise to resolve with a user (typically via an async db call or something)var { return Promise;} Promiseall 2007 ;
In contrast, normally by using promise.then() you would code the following:
Promiseall 2007 ;