node-aws-bluebird

Promises support (with bluebird) for the AWS SDK for Node.js
The AWS SDK for Node is very useful, but it is extremely callback
heavy. This library binds a Bluebird promise to the AWS.Request
object that is returned by most of the AWS SDK methods. This means that
instead of doing this every time:
var AWS = require( 'aws' );
var ec2 = new AWS.EC2( {} );
ec2.describeInstances( {}, function( err, data ) {
if ( err ) {
console.log( err );
} else {
console.log( data );
}
} );
You can use a very nice Promise syntax instead:
var AWS = require( 'aws-bluebird' );
var ec2 = new AWS.EC2( {} );
ec2.describeInstances( {} ).then( function( data ) {
console.log( data );
} );
If you just want to get a promise from the returned object, you can just
call .promise on it:
var promise = ec2.describeInstances().promise();
This .promise method is most of what this library does, however the returned
object also has a bunch of helper functions, which promisify the result for
you and then call that method on the returned promise. So you can use any
of these methods from the Bluebird API:
- then
- spread
- catch
- error
- finally
- bind
- isFulfilled
- isRejected
- isPending
- value
- reason
- all
- props
- settle
- any
- race
- some
- map
- reduce
- filter
- each
- nodeify
- asCallback
- delay
- timeout
- tap
- call
- get
- return
- throw
- reflect
- done
Author
Copyright 2015 Jason S Kohles email@jasonkohles.com