1.0.0 • Published 9 years ago

aws-bluebird v1.0.0

Weekly downloads
74
License
ISC
Repository
github
Last release
9 years ago

node-aws-bluebird

Build Status Coverage Status Code Climate

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