Skip to content

markdalgleish/superagent-bluebird-promise

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status

superagent-bluebird-promise

Add promise support to Superagent using Bluebird.

Install

npm install superagent-bluebird-promise

Usage

Simply require this package instead of superagent. Then you can call .then() instead of .end() to get a promise for your requests.

var request = require('superagent-bluebird-promise');

request.get('/an-endpoint')
  .then(function(res) {
    console.log(res);
  }, function(error) {
    console.log(error);
  });

To generate a promise without registering any callbacks (e.g. when returning a promise from within a library), call .promise() instead.

request.get('/an-endpoint').promise()

In order to use any of Bluebird's various promise methods, make sure you call .then() or .promise() first.

An error is thrown for all HTTP errors and responses that have a response code of 400 or above.

The error parameter always has a key error and for 4xx and 5xx responses, will also have a status and res key.

Cancelling requests

You can abort the request by cancelling the promise:

promise.cancel();

When aborting the request with a custom reason, make sure your error class inherits from Bluebird's CancellationError class or the request won't be aborted.

This is only possible because all promises are cancellable by default. To disable this functionality, call Bluebird's uncancellable method on the promise:

promise.uncancellable();

About

Add promise support to superagent using Bluebird

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • CoffeeScript 65.5%
  • JavaScript 31.4%
  • Makefile 3.1%