aws-bluebird
v1.0.0
Published
AWS SDK with Bluebird Promises support
Downloads
1,354
Maintainers
Readme
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