superagent-bluebird-promise

Add promise support to superagent using Bluebird

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
superagent-bluebird-promise
184324.2.06 years ago8 years agoMinified + gzip package size for superagent-bluebird-promise in KB

Readme

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() or .catch() instead of .end() to get a promise for your requests.
var request = require('superagent-bluebird-promise');

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

// .catch()
request.get('/an-endpoint')
  .catch(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();

This is only possible because we have configured bluebird to be cancellable by default.